/*
Theme Name: Paiky Paiky-Shop
Theme URI: https://wordpress.org/themes/paikypaikyshop/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Paiky Paiky-Shop emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: paikypaikyshop
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

.single-product main p,
main>section[class*=module-] p {
    opacity: 0;
    transform: translateY(2em);
    transition: .5s ease
}

.single-product main p.visible,
main>section[class*=module-] p.visible {
    opacity: 1;
    transform: translateY(0)
}

h1,
h2 {
    display: block
}

h1.visible>span,
h2.visible>span {
    opacity: 1;
    transform: translateY(0)
}

h1>span,
h2>span {
    display: inline-block;
    opacity: 0;
    transform: translateY(-50%);
    transition: .5s cubic-bezier(.2, .68, .28, .79)
}

h1>span.new-line,
h2>span.new-line {
    display: block;
    height: 0
}

@font-face {
    font-display: swap;
    font-family: SangBleu;
    font-style: italic;
    font-weight: 300;
    src: url(assets/fonts/135ff3581f1c362a6f1f.otf) format("opentype"), url(assets/fonts/174ce851ae4ddbdf20fc.ttf) format("truetype")
}

.as-h1,
.as-h2,
.cart-title,
.loader-message,
.select2-container--default .select2-selection--single,
.single-product .--title,
h1,
h2,
input,
input::placeholder,
select,
textarea,
textarea::placeholder {
    font-family: Roboto, sans-serif;
    font-weight: 100
}

.--filter,
.--filter-group .--title,
.cart-product-title,
.cart-total,
.custom-quantity label,
.main-menu-link,
.primary-button,
.single-product .--categorie,
.single-product .--price,
body,
button[data-action=reset-filter],
h3,
p {
    font-family: Roboto, sans-serif;
    font-weight: 300
}

.caption,
.cart .--price,
.cart-product-price,
.copyrights p,
.mobile-menu .show-menu-collections,
.mobile-menu li,
.nav-footer-menu a,
h4 {
    font-family: Roboto, sans-serif;
    font-weight: 700
}

.module-text-image,
.module-timeline .--item .--year,
em {
    font-family: SangBleu, sans-serif
}

.as-h1,
h1 {
    font-size: clamp(1.5rem, var(--baseFontSize) + var(--vwh)*3.8, min(var(--baseFontSize) + 3.8rem, 9rem));
    line-height: .9;
    margin-bottom: clamp(1rem, 3.5vh, 3rem);
    margin-top: 0
}

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

    .as-h1,
    h1 {
        font-size: 3rem
    }
}

.as-h2,
h2 {
    font-size: clamp(1.25rem, var(--baseFontSize) + var(--vwh)*2.5, min(var(--baseFontSize) + 2.5rem, 6rem));
    line-height: 1.2;
    margin-bottom: clamp(1rem, 3.5vh, 3rem);
    margin-top: 0
}

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

    .as-h2,
    h2 {
        font-size: 2rem
    }
}

h3 {
    font-size: clamp(1.1rem, var(--baseFontSize) + var(--vwh)*1.55, min(var(--baseFontSize) + 1.55rem, 5.5rem));
    margin: 0 0 clamp(1rem, 3.5vh, 3rem)
}

p {
    font-size: clamp(1rem, var(--baseFontSize) + var(--vwh)*.05, min(var(--baseFontSize) + .05rem, 2rem));
    line-height: 1.5
}

@media screen and (max-width:500px) {
    p {
        font-size: 1rem
    }
}

.primary-button,
.secondary-button {
    font-size: clamp(.4rem, var(--baseFontSize) + var(--vwh)*-0.2, min(var(--baseFontSize) - .2rem, 1.3rem));
    font-weight: 600
}

.caption {
    font-size: clamp(1.1rem, var(--baseFontSize) + var(--vwh)*.3, min(var(--baseFontSize) + .3rem, 2rem))
}

.cart-title {
    font-size: clamp(1.2rem, var(--baseFontSize) + var(--vwh)*1.8, min(var(--baseFontSize) + 1.8rem, 3rem))
}

.cart-product-title {
    font-size: clamp(1.1rem, var(--baseFontSize) + var(--vwh)*.6, min(var(--baseFontSize) + .6rem, 2rem))
}

.cart-product-price,
.custom-quantity label {
    font-size: clamp(1rem, var(--baseFontSize) + var(--vwh)*.15, min(var(--baseFontSize) + .15rem, 1.5rem))
}

.cart .total .title {
    font-size: clamp(1.1rem, var(--baseFontSize) + var(--vwh)*.6, min(var(--baseFontSize) + .6rem, 1.5rem))
}

.loader-message {
    font-size: clamp(2rem, var(--baseFontSize) + var(--vwh)*2.8, min(var(--baseFontSize) + 2.8rem, 4rem))
}

.--filter,
.--filter-group .--title {
    font-size: clamp(.5rem, var(--baseFontSize) + var(--vwh)*.1, min(var(--baseFontSize) + .1rem, 1.5rem))
}

button[data-action=reset-filter] {
    font-size: clamp(.5rem, var(--baseFontSize) + var(--vwh)*-0.1, min(var(--baseFontSize) - .1rem, 1rem))
}

.copyrights p,
.nav-footer-menu a,
input,
textarea {
    font-size: clamp(.5rem, var(--baseFontSize) + var(--vwh)*-0.1, min(var(--baseFontSize) - .1rem, 1.5rem))
}

input::placeholder,
textarea::placeholder {
    font-size: clamp(.5rem, var(--baseFontSize) + var(--vwh)*-0.1, min(var(--baseFontSize) - .1rem, 1.5rem))
}

select {
    font-size: clamp(.5rem, var(--baseFontSize) + var(--vwh)*-0.1, min(var(--baseFontSize) - .1rem, 1.5rem))
}

textarea {
    min-height: 30vh
}

.select2-container--default .select2-selection--single {
    font-size: clamp(.5rem, var(--baseFontSize) + var(--vwh)*-0.1, min(var(--baseFontSize) - .1rem, 1.5rem))
}

form.checkout .steps-title {
    font-size: clamp(1.5rem, var(--baseFontSize) + var(--vwh)*2, min(var(--baseFontSize) + 2rem, 2.5rem))
}

.mobile-menu .show-menu-collections,
.mobile-menu li {
    font-size: clamp(1rem, var(--baseFontSize) + var(--vwh)*.9, min(var(--baseFontSize) + .9rem, 1.5rem))
}

.desktop-collections-menu .--title {
    font-size: clamp(1.5rem, var(--baseFontSize) + var(--vwh)*3.6, min(var(--baseFontSize) + 3.6rem, 9rem))
}

.main-menu-link {
    font-size: clamp(.7rem, var(--baseFontSize) + var(--vwh)*-0.1, min(var(--baseFontSize) - .1rem, 1.5rem))
}

.nav-main .nav-language {
    font-size: clamp(.8rem, var(--baseFontSize) + var(--vwh)*.2, min(var(--baseFontSize) + .2rem, 1.5rem))
}

.single-product .--categorie {
    font-size: clamp(1.1rem, var(--baseFontSize) + var(--vwh)*1.6, min(var(--baseFontSize) + 1.6rem, 2.8rem))
}

.single-product .--price,
.single-product .--title {
    font-size: clamp(.8rem, var(--baseFontSize) + var(--vwh)*1, min(var(--baseFontSize) + 1rem, 1.5rem))
}

.module-timeline .--item .--year {
    font-size: clamp(1.5rem, var(--baseFontSize) + var(--vwh)*16, min(var(--baseFontSize) + 16rem, 20rem))
}

@media screen and (max-width:500px) {
    .module-timeline .--item .--year {
        font-size: 6rem
    }
}

.module-text-image {
    font-size: clamp(1rem, var(--baseFontSize) + var(--vwh)*2.5, min(var(--baseFontSize) + 2.5rem, 2.5rem))
}

.cookies-banner p,
.cookies-manager p {
    font-size: clamp(.5rem, var(--baseFontSize) + var(--vwh)*-0.1, min(var(--baseFontSize) - .1rem, 2rem))
}

html>body main>section:not(:first-child)[data-has-subtitle=false]:after {
    background-color: #9c7560;
    content: "";
    height: 1px;
    position: absolute;
    right: clamp(1rem, 8vw, 8rem);
    width: clamp(2rem, 8vw, 8rem)
}

html>body main>.wp-block-post-content>section:not(:first-child)[data-has-subtitle=false]:after {
    background-color: #9c7560;
    content: "";
    height: 1px;
    position: absolute;
    right: clamp(1rem, 8vw, 8rem);
    width: clamp(2rem, 8vw, 8rem)
}

html {
    height: -webkit-fill-available;
    transition: opacity .25s ease-in-out .3s
}

html.init {
    opacity: 1 !important
}

html>body {
    font-size: 16px;
    line-height: 1;
    min-height: 100vh;
    min-height: -webkit-fill-available;
    overflow: hidden
}

@media screen and (min-width:993px) {
    html>body {
        font-size: 18px
    }
}

html>body .nav-main {
    display: none
}

@media screen and (min-width:78.188em) {
    html>body .nav-main {
        display: block
    }

    html>body .mobile-nav {
        display: none
    }
}

html>body .desktop-collections-menu {
    display: none
}

@media screen and (min-width:78.188em) {
    html>body .desktop-collections-menu {
        display: block
    }
}

html>body main>section, .--section {
    padding-bottom: clamp(6rem, 14vh, 12rem);
    position: relative
}

html>body main>section:not(:first-child)[data-has-subtitle=false] {
    padding-top: clamp(6rem, 14vh, 12rem)
}

html>body main>section:not(:first-child)[data-has-subtitle=false]:after {
    top: .5em
}

html>body .wp-block-post-content>section, html>body .wp-site-blocks>section {
    padding-bottom: clamp(6rem, 14vh, 12rem);
    position: relative
}

html>body .wp-block-post-content>section:not(:first-child)[data-has-subtitle=false] {
    padding-top: clamp(6rem, 14vh, 12rem)
}

html>body .wp-block-post-content>section:not(:first-child)[data-has-subtitle=false]:after {
    top: .5em
}

html>body[data-view=default] main, html>body[data-view=default] .wp-block-post-content {
    margin-top: calc(clamp(6rem, 14vh, 12rem) - 1rem)
}

body[data-view=checkout] .--section {
    margin-top: calc(clamp(6rem, 14vh, 12rem) - 1rem);
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    body[data-view=checkout] .--section {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

[class*=" icon-"],
[class^=icon-] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: icomoon !important;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: none
}

@font-face {
    font-display: block;
    font-family: icomoon;
    font-style: normal;
    font-weight: 400;
    src: url(assets/fonts/icomoon.eot?sg6khp);
    src: url(assets/fonts/icomoon.eot?sg6khp#iefix) format("embedded-opentype"), url(assets/fonts/icomoon.ttf?sg6khp) format("truetype"), url(assets/fonts/icomoon.woff?sg6khp) format("woff"), url(assets/fonts/icomoon.svg?sg6khp#icomoon) format("svg")
}

.icon-credit-card:before {
    content: ""
}

.icon-delivery:before {
    content: ""
}

.icon-arrow:before {
    content: ""
}

.icon-bag:before {
    content: ""
}

.icon-cancelled:before {
    content: ""
}

.icon-check:before {
    content: ""
}

.icon-chevron:before {
    content: ""
}

.icon-facebook:before {
    content: ""
}

.icon-failed:before {
    content: ""
}

.icon-hourglass:before {
    content: ""
}

.icon-instagram:before {
    content: ""
}

.icon-denied:before {
    content: "ú"
}

.icon-box:before {
    content: "૯"
}

.icon-refund:before {
    content: ""
}

.icon-user:before {
    content: ""
}

.icon-wechat:before {
    content: ""
}

.icon-youtube:before {
    content: ""
}

.icon-wechat-video:before {
    content: "\e916";
}

.icon-douyin:before {
    content: "\e915";
}

.icon-xiaohongshu:before {
    content: "\e917";
}
.no-overflow {
    overflow: hidden
}

* {
    box-sizing: border-box
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    height: 100%;
    overflow-x: hidden
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: -webkit-fill-available;
    min-height: 100vh;
    padding: 0;
    text-rendering: optimizeLegibility;
    text-transform: none
}

body,
menu,
p,
ul {
    margin: 0
}

menu,
ul {
    padding: 0
}

li {
    list-style: none
}

li:first-child {
    margin-top: 0;
    padding-top: 0
}

li:last-child {
    margin-bottom: 0;
    padding-bottom: 0
}

textarea {
    resize: vertical
}

label[for] {
    cursor: pointer
}

a {
    color: inherit;
    display: inline-flex;
    text-decoration: none;
    width: fit-content
}

a[data-action],
a[href] {
    cursor: pointer
}

img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%
}

address {
    font-style: normal
}

.away {
    left: -9999px;
    position: absolute;
    top: -9999px;
    visibility: hidden;
    z-index: -1
}

blockquote,
figure,
form {
    margin: 0
}

form {
    padding: 0
}

.img-wrapper {
    display: flex;
    overflow: hidden
}

abbr[title] {
    text-decoration: none
}

p:empty {
    display: none
}

body:not(.cookies-banner-active) .cookies-banner {
    pointer-events: none;
    transform: translateY(100%)
}

.cookies-banner {
    align-items: center;
    background-color: #253a32;
    border: 1px solid #253a32;
    bottom: 0;
    color: #fff;
    display: flex;
    gap: 4rem;
    left: 0;
    padding: 2rem;
    position: fixed;
    transition: transform .25s ease-in-out;
    width: 95%;
    z-index: 5000
}

@media screen and (max-width:63.688em) {
    .cookies-banner {
        padding: 1rem
    }
}

@media screen and (min-width:63.75em) {
    .cookies-banner {
        width: fit-content
    }
}

.cookies-banner>div>div {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem
}

.cookies-banner p {
    margin: 0 0 2rem
}

.cookies-banner hr {
    background-color: #fff;
    height: 3px;
    margin: 2vh 0
}

.cookies-banner .--secondary {
    border-color: #fff;
    color: #fff
}

.cookies-banner .--secondary:before {
    border-color: #fff
}

.cookies-banner .--icon {
    font-size: 6rem
}

@media screen and (max-width:93.688em) {
    .cookies-banner .--icon {
        display: none
    }
}

.cookies-banner .--title {
    margin-bottom: .5rem
}

.cookies-manager .--cm-button {
    background-color: transparent;
    border: 1px solid #fff;
    padding: 1.3em 2em;
    text-transform: uppercase;
    transition: background-color .25s ease-in-out, color .25s ease-in-out
}

.cookies-manager .--cm-button:not(.active) {
    color: #fff
}

.cookies-manager .--cm-button:not(:disabled) {
    cursor: pointer
}

.cookies-manager .--cm-button:not(:disabled):hover {
    background-color: #fff;
    color: #1c1c1c
}

.cookies-manager .--cm-button:disabled {
    opacity: .4
}

.cookies-manager .--cm-button.active {
    background-color: #fff
}

html.cookies-manager-active,
html.cookies-manager-active body {
    overflow: hidden
}

html.cookies-manager-active .navigation {
    z-index: 0
}

body:not(.cookies-manager-active) .cookies-manager {
    opacity: 0;
    pointer-events: none
}

body.cookies-manager-active {
    overflow: hidden
}

body.cookies-manager-active:after {
    opacity: .5;
    z-index: 399
}

body:after {
    background-color: #dbdbdb;
    content: "";
    height: 100vh;
    left: 0;
    opacity: 0;
    pointer-events: none;
    top: 0;
    width: 100vw
}

.cookies-manager,
body:after {
    position: fixed;
    transition: opacity .25s ease-in-out
}

.cookies-manager {
    align-items: center;
    background-color: #253a32;
    color: #fff;
    display: flex;
    gap: 4rem;
    left: 50%;
    padding: 2rem;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 95%;
    z-index: 400
}

@media screen and (min-width:83.438em) {
    .cookies-manager {
        width: 60vw
    }
}

.cookies-manager>p {
    margin: 0
}

.cookies-manager header {
    display: flex;
    margin-top: 2vh
}

@media screen and (max-width:33.063em) {
    .cookies-manager header {
        flex-direction: column
    }
}

@media screen and (min-width:33.125em) {
    .cookies-manager header {
        align-items: center;
        column-gap: 1vw
    }
}

.cookies-manager header>div {
    align-items: center;
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:33.063em) {
    .cookies-manager header>div {
        width: 100%
    }
}

@media screen and (min-width:33.125em) {
    .cookies-manager header>div {
        margin-left: auto
    }
}

.cookies-manager h4 {
    margin: 0
}

.cookies-manager .--title {
    margin-bottom: 1rem
}

.cookies-manager footer {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 4rem
}

@media screen and (max-width:63.688em) {
    .cookies-manager footer {
        align-items: center;
        flex-direction: column
    }
}

.cookies-manager .--toggle {
    background-color: transparent;
    border: none;
    cursor: pointer;
    height: 1rem;
    margin-left: 1rem;
    margin-right: .5rem;
    padding: 0;
    position: relative;
    width: 1rem
}

@media screen and (max-width:33.063em) {
    .cookies-manager .--toggle {
        margin: 0;
        order: 3
    }
}

@media screen and (min-width:33.125em) {
    .cookies-manager .--toggle {
        margin-left: 0
    }
}

.cookies-manager .--toggle:before {
    background-color: #fff;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%
}

.cookies-manager .--toggle:after {
    background-color: #fff;
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 2px
}

.cookies-manager .accordion p {
    display: none;
    margin-bottom: 0;
    margin-top: 2vh
}

.cookies-manager .accordion.active p {
    display: block
}

.cookies-manager .accordion.active .--toggle:after {
    transform: translateX(-50%) rotate(90deg)
}

.cookies-manager .--secondary {
    border-color: #fff;
    color: #fff;
    padding-left: 2rem;
    padding-right: 2rem
}

.cookies-manager .--secondary:before {
    border-color: #fff
}

.cookies-manager .--icon {
    font-size: 12rem
}

@media screen and (max-width:53.063em) {
    .cookies-manager .--icon {
        display: none
    }
}

.cookies-manager>div {
    width: 100%
}

input,
textarea {
    background-color: transparent;
    border: 1px solid #1c1c1c;
    border-radius: 0;
    outline: none;
    transition: border-color .25s ease-in-out, color .25s ease-in-out
}

input:not([type=checkbox]):not([type=radio]):not([type=number]),
textarea:not([type=checkbox]):not([type=radio]):not([type=number]) {
    padding: .5em 1em;
    width: 100%
}

input:focus,
textarea:focus {
    border-color: #9c7560;
    caret-color: #9c7560;
    color: #9c7560
}

textarea {
    border-radius: 0
}

body.active-mobile-menu .cart-trigger>span:first-child,
body.show-collections-menu .cart-trigger>span:first-child {
    color: #1c1c1c
}

body.active-mobile-menu .cart-trigger .cart-total,
body.show-collections-menu .cart-trigger .cart-total {
    background-color: #1c1c1c;
    color: #fff
}

.close-button .cross:after,
.close-button .cross:before {
    background-color: #9c7560;
    background-color: #fff;
    content: "";
    height: 1px;
    position: absolute;
    right: clamp(1rem, 8vw, 8rem);
    width: clamp(2rem, 8vw, 8rem)
}

.close-button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    height: 2rem;
    padding: 0;
    transform: rotate(45deg);
    transition: transform .25s ease-in-out;
    width: 2rem
}

.close-button:hover {
    transform: rotate(135deg)
}

.close-button .cross {
    height: 100%;
    position: relative;
    width: 100%
}

.close-button .cross:before {
    height: 1px;
    left: 0;
    top: 50%;
    width: 100%
}

.close-button .cross:after {
    height: 100%;
    left: 50%;
    top: 0;
    width: 1px
}

.link:after,
.link:before {
    background-color: #9c7560;
    background-color: #1c1c1c;
    bottom: -.15rem;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    right: clamp(1rem, 8vw, 8rem);
    transition: transform .25s ease-in-out;
    width: clamp(2rem, 8vw, 8rem);
    width: 100%
}

.link {
    color: #1c1c1c;
    position: relative
}

.link:before {
    transform: scaleX(0);
    transform-origin: left
}

.link:after {
    transform-origin: right;
    transition-delay: .25s
}

@media(any-hover:hover) {
    .link:hover:before {
        transform: scaleX(1);
        transition-delay: .25s
    }

    .link:hover:after {
        transform: scaleX(0);
        transition-delay: 0s
    }
}

.primary-button:after,
.primary-button:before {
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    transform-origin: center bottom;
    transition: transform .1s linear;
    width: 1px
}

.primary-button .--top-line:after,
.primary-button .--top-line:before {
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    transition: width .1s linear .1s;
    width: 50%
}

.primary-button {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #9c7560;
    color: #9c7560;
    cursor: pointer;
    padding: 1.1em 2.2em;
    position: relative
}

@media(any-hover:hover) {

    .primary-button:hover:after,
    .primary-button:hover:before {
        transform: scaleY(0);
        transition: transform .1s linear .1s
    }

    .primary-button:hover .--top-line:after,
    .primary-button:hover .--top-line:before {
        transition: width .1s linear;
        width: 0
    }
}

.primary-button .--top-line:after,
.primary-button .--top-line:before,
.primary-button:after,
.primary-button:before {
    background-color: #9c7560
}

.primary-button:before {
    left: 0
}

.primary-button:after {
    right: 0
}

.primary-button .--top-line {
    height: 1px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.primary-button .--top-line:before {
    left: 0
}

.primary-button .--top-line:after {
    right: 0
}

.primary-button>span[class^=icon-] {
    display: inline-flex;
    margin-left: .35em
}

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

.newsletter>div input {
    flex-basis: 100%
}

.newsletter>div button {
    flex-shrink: 0
}

[data-is-editable] a {
    pointer-events: none
}

[data-is-editable]:hover {
    cursor: pointer;
    outline: 2px dashed blue
}

.editable-content .library {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(auto-fit, 150px)
}

.editable-content .library .--wrapper {
    overflow: hidden
}

.editable-content .library .--wrapper.is-selected {
    cursor: default;
    position: relative
}

.editable-content .library .--wrapper.is-selected:after {
    align-items: center;
    background-color: rgba(255, 210, 36, .75);
    color: #000;
    content: "Sélectionné";
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.editable-content .library .--wrapper:not(.is-selected) {
    cursor: pointer
}

.editable-content .library .--wrapper:not(.is-selected):hover img {
    transform: scale(1.1)
}

.editable-content .library .--wrapper img {
    transition: transform .3s ease-in-out
}

.editable-content,
.waiting-screen {
    font-family: Verdana, Geneva, Tahoma, sans-serif
}

body.adding-pattern .waiting-screen,
body.editable-content-is-opening .waiting-screen,
body.loading-pattern-screen .waiting-screen,
body.updating .waiting-screen {
    opacity: 1
}

@keyframes pulse {
    0% {
        opacity: .9;
        transform: scale(1)
    }

    25% {
        opacity: 1;
        transform: scale(1.3)
    }

    50% {
        opacity: .85;
        transform: scale(.9)
    }

    75% {
        opacity: 1;
        transform: scale(1.3)
    }

    to {
        opacity: .9;
        transform: scale(1)
    }
}

body.adding-pattern dialog {
    opacity: 0 !important
}

body.adding-pattern dialog::backdrop {
    background-color: transparent
}

.waiting-screen {
    align-items: center;
    background-color: rgba(26, 27, 31, .8);
    color: #fff;
    cursor: not-allowed;
    display: flex;
    gap: 1rem;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: opacity .1s ease-in-out;
    width: 100%;
    z-index: 100
}

.waiting-screen svg {
    fill: #ffd224;
    animation: pulse 5s ease-in-out infinite;
    aspect-ratio: 1/1;
    flex-shrink: 0;
    width: clamp(50px, 10vw, 300px)
}

.editable-content,
.popup-pattern,
.popup-pattern form input,
.popup-pattern form select {
    font-family: Verdana, Geneva, Tahoma, sans-serif
}

.editable-content .--container button,
.popup-pattern button {
    background-color: #1a1b1f;
    border: 1px solid #1a1b1f;
    border-radius: 1em;
    color: #fff;
    cursor: pointer;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 1rem;
    overflow: hidden;
    padding: .5em 1em;
    position: relative;
    transition: color .3s ease-in-out, background-color .3s ease-in-out
}

.editable-content .--container button:before,
.popup-pattern button:before {
    aspect-ratio: 1/1;
    background-color: #ffd224;
    border-radius: 100%;
    clip-path: circle(0);
    content: "";
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: opacity .3s ease-in-out, clip-path .3s ease-in-out, transform .3s ease-in-out;
    width: 101%;
    z-index: 1
}

.editable-content .--container button:hover,
.popup-pattern button:hover {
    background-color: transparent !important;
    color: #1a1b1f
}

.editable-content .--container button:hover:before,
.popup-pattern button:hover:before {
    clip-path: circle(100%);
    opacity: 1;
    transform: translate(-50%, -50%) scale(1)
}

.editable-content .--container button span,
.popup-pattern button span {
    position: relative;
    z-index: 2
}

.editable-content .--title,
.popup-pattern .--title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 auto
}

.popup-pattern {
    background-color: #000;
    border: none;
    color: #fff;
    max-width: 700px;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    transition: opacity .1s ease-in-out;
    visibility: hidden;
    width: 40%
}

.popup-pattern .--container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2rem
}

.popup-pattern form {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: max-content 1fr
}

.popup-pattern form label {
    width: fit-content
}

.popup-pattern form input,
.popup-pattern form select {
    padding: .5rem
}

.popup-pattern[open] {
    opacity: 1;
    pointer-events: all;
    visibility: visible
}

.popup-pattern::backdrop {
    background-color: rgba(26, 27, 31, .8);
    cursor: pointer
}

.popup-pattern button {
    margin-top: 1rem
}

.popup-pattern button.close {
    justify-self: end
}

.popup-pattern button.higlight {
    justify-self: start
}

.editable-content,
.editable-content .--container button {
    font-family: Verdana, Geneva, Tahoma, sans-serif
}

.editable-content .--container button {
    background-color: #1a1b1f;
    border: 1px solid #1a1b1f;
    border-radius: 1em;
    color: #fff;
    cursor: pointer;
    font-size: 1rem;
    overflow: hidden;
    padding: .5em 1em;
    position: relative;
    transition: color .3s ease-in-out, background-color .3s ease-in-out
}

.editable-content .--container button:before {
    aspect-ratio: 1/1;
    background-color: #ffd224;
    border-radius: 100%;
    clip-path: circle(0);
    content: "";
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: opacity .3s ease-in-out, clip-path .3s ease-in-out, transform .3s ease-in-out;
    width: 101%;
    z-index: 1
}

.editable-content .--container button:hover {
    background-color: transparent !important;
    color: #1a1b1f
}

.editable-content .--container button:hover:before {
    clip-path: circle(100%);
    opacity: 1;
    transform: translate(-50%, -50%) scale(1)
}

.editable-content .--container button span {
    position: relative;
    z-index: 2
}

.editable-content .--title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 auto
}

body.editable-active .editable-content {
    opacity: 1;
    pointer-events: all
}

.editable-content {
    background-color: rgba(26, 27, 31, .8);
    color: #fff;
    cursor: pointer;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity .1s ease-in-out;
    width: 100%
}

.editable-content .--container {
    background-color: #000;
    color: #fff;
    cursor: default;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    height: 100%;
    margin-left: auto;
    max-width: clamp(400px, 60%, 900px);
    padding: 1rem;
    position: relative
}

.editable-content .--container>svg {
    fill: #ffd224;
    flex-shrink: 0
}

.editable-content .--container ul {
    margin-left: 2rem;
    margin-top: .5rem
}

.editable-content .--container ul li {
    list-style: outside
}

.editable-content .--content {
    flex: 1;
    overflow: auto
}

.editable-content textarea {
    border: none;
    flex: 1;
    min-height: 40vh;
    padding: 1em;
    resize: none;
    width: 100%
}

.editable-content textarea:focus {
    outline: 2px solid #000
}

.editable-content footer {
    display: flex;
    gap: 1rem;
    justify-content: space-between
}

.editable-content .style-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}

.editable-content .--ajax-message {
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
    bottom: -100%;
    color: #fff;
    padding: 2rem;
    position: fixed;
    right: 0;
    transition: bottom .1s ease-in-out;
    width: 40%;
    z-index: 500
}

.editable-content .--ajax-message.active {
    bottom: 0
}

.editable-content .--ajax-message.success {
    background-color: #056f1a
}

.editable-content .--ajax-message.error {
    background-color: #a81818
}

.editable-content details[open] summary {
    margin-bottom: 1rem
}

.editable-content details summary {
    cursor: pointer;
    width: fit-content
}

.editable-content details li {
    list-style: inside
}

.editable-content svg {
    margin: 0 auto;
    max-width: 6rem
}

.main-footer .footer-link {
    position: relative
}

.main-footer .footer-link:after {
    border-bottom: 1px solid #1c1c1c;
    bottom: -.5rem;
    content: "";
    position: absolute;
    right: -.5rem;
    transition: width .25s cubic-bezier(.19, 1, .22, 1), left .25s cubic-bezier(.19, 1, .22, 1), right .25s cubic-bezier(.19, 1, .22, 1);
    width: 0
}

@media(any-hover:hover) {
    .main-footer .footer-link:hover:after {
        left: 0;
        width: calc(100% + .5em)
    }
}

.main-footer .active.footer-link {
    font-weight: 700
}

.main-footer .active.footer-link:after {
    left: 0;
    width: calc(100% + .5em)
}

@media screen and (max-width:46.875em) {

    .main-footer .--container>div:last-child .nav-footer-menu,
    .main-footer .--container>div:last-child .nav-language {
        border-bottom: 1px solid #707070;
        margin-bottom: clamp(1rem, 3.5vh, 3rem);
        padding-bottom: clamp(1rem, 2vh, 3rem)
    }
}

.main-footer {
    background-color: #e2ddd9;
    padding: clamp(4rem, 9.5vh, 10rem) clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    .main-footer {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.main-footer .--container {
    display: flex
}

@media screen and (max-width:46.875em) {
    .main-footer .--container {
        flex-direction: column-reverse;
        row-gap: clamp(4rem, 9.5vh, 10rem)
    }
}

@media screen and (min-width:46.938em) {
    .main-footer .--container {
        column-gap: clamp(2rem, 12vw, 16rem)
    }

    .main-footer .--container>div {
        flex-basis: 50%
    }

    .main-footer .--container>div:first-child {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        row-gap: clamp(1rem, 1vh, 3rem)
    }
}

@media screen and (max-width:46.875em) {
    .main-footer .--container>div:last-child {
        display: flex;
        flex-direction: column
    }
}

@media screen and (min-width:46.938em) {
    .main-footer .--container>div:last-child {
        column-gap: clamp(2rem, 8vw, 12rem);
        display: grid;
        grid-template-columns: max-content 1fr
    }
}

@media screen and (max-width:46.875em) {
    .main-footer .--container>div:last-child .nav-language {
        order: -1
    }
}

@media screen and (min-width:46.938em) {
    .main-footer .--container>div:last-child .nav-language {
        justify-self: end
    }

    .main-footer .--container>div:last-child .nav-footer-menu {
        grid-row: span 2;
        padding-bottom: clamp(1rem, 3.5vh, 3rem);
        position: relative
    }

    .main-footer .--container>div:last-child .nav-footer-menu:after {
        background-color: #707070;
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        width: calc(100% + clamp(2rem, 8vw, 12rem))
    }
}

@media screen and (max-width:46.875em) {
    .main-footer .--container>div:last-child .nav-social-network {
        display: flex;
        justify-content: center
    }
}

@media screen and (min-width:46.938em) {
    .main-footer .--container>div:last-child .nav-social-network {
        align-self: end;
        grid-column: 2;
        padding-bottom: clamp(1rem, 3.5vh, 3rem);
        position: relative
    }

    .main-footer .--container>div:last-child .nav-social-network:after {
        background-color: #707070;
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        width: 100%
    }
}

@media screen and (max-width:46.875em) {
    .main-footer .--container>div:last-child .nav-social-network ul {
        justify-content: start
    }
}

@media screen and (min-width:46.938em) {
    .main-footer .--container>div:last-child .nav-social-network ul {
        justify-content: end
    }
}

.main-footer .--container>div:last-child .newsletter {
    display: none !important
}

@media screen and (min-width:46.938em) {
    .main-footer .--container>div:last-child .newsletter {
        grid-column: span 2;
        margin-top: clamp(4rem, 9.5vh, 10rem)
    }
}

.main-footer .--container>div:last-child .newsletter>div {
    display: flex
}

@media screen and (max-width:46.875em) {
    .main-footer .--container>div:last-child .newsletter>div {
        align-items: baseline;
        flex-direction: column
    }
}

.main-footer .--container .copyrights {
    padding-bottom: clamp(1rem, 3.5vh, 3rem)
}

@media screen and (max-width:46.875em) {
    .main-footer .--container .copyrights {
        border-bottom: 1px solid #707070;
        margin-top: clamp(1rem, 3.5vh, 3rem);
        text-align: center
    }
}

@media screen and (min-width:46.938em) {
    .main-footer .--container .copyrights {
        position: relative
    }

    .main-footer .--container .copyrights:after {
        background-color: #707070;
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        width: 60%
    }
}

.main-footer .--container .corporate {
    display: flex
}

@media screen and (max-width:46.875em) {
    .main-footer .--container .corporate {
        align-items: end;
        align-items: center;
        column-gap: .5rem;
        flex-direction: column;
        justify-content: space-between;
        text-align: center
    }
}

@media screen and (min-width:46.938em) {
    .main-footer .--container .corporate {
        flex-direction: column;
        height: 100%;
        justify-content: space-between;
        row-gap: clamp(1rem, 3.5vh, 3rem)
    }
}

.main-footer .--container .corporate .logo-wrapper {
    max-width: 120px
}

.default-header .--container>div.img-wrapper img,
.home-header .--after-content .--main .--images>div:last-child {
    aspect-ratio: 4/5
}

.home-header .--after-content .--main .--images>div:first-child {
    aspect-ratio: 48/25
}

img {
    transition: .7s cubic-bezier(.2, .68, .28, .79)
}

.home-header {
    padding-bottom: clamp(6rem, 14vh, 12rem)
}

.home-header .--content {
    display: flex;
    max-height: 100vh;
    position: relative;
    width: 100%
}

.home-header .--content .--over {
    bottom: 4rem;
    color: #fff;
    left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem);
    position: absolute
}

@media screen and (min-width:64.063em) {
    .home-header .--content .--over {
        padding-right: 0;
        width: 30%
    }
}

.home-header .--content .--over p {
    margin-bottom: clamp(1rem, 3.5vh, 3rem)
}

.home-header .--content .img-wrapper {
    width: 100%
}

.home-header .--content video {
    object-fit: cover;
    width: 100%
}

.home-header .--after-content .--subtitle {
    background-color: #253a32;
    color: #fff;
    display: flex;
    flex-direction: column;
    padding: clamp(4rem, 9.5vh, 10rem) calc(clamp(1rem, 8vw, 8rem)*2)
}

@media screen and (max-width:64em) {
    .home-header .--after-content .--subtitle {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.home-header .--after-content .--subtitle h1 {
    margin: auto;
    text-align: center;
    width: fit-content
}

.home-header .--after-content .--main {
    padding: 0 clamp(1rem, 8vw, 8rem)
}

@media screen and (min-width:50em) {
    .home-header .--after-content .--main {
        padding-bottom: 0;
        padding-top: 0
    }
}

@media screen and (max-width:64em) {
    .home-header .--after-content .--main {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.home-header .--after-content .--main .--images {
    position: relative
}

.home-header .--after-content .--main .--images:before {
    background-color: #253a32;
    content: "";
    height: calc(110% - clamp(4rem, 9.5vh, 10rem));
    left: calc(clamp(1rem, 8vw, 8rem)*-1);
    position: absolute;
    top: -10%;
    width: calc(100% + clamp(1rem, 8vw, 8rem)*2);
    z-index: -1
}

.home-header .--after-content .--main .--images>div:first-child {
    position: relative
}

@media screen and (max-width:43.688em) {
    .home-header .--after-content .--main .--images>div:first-child {
        aspect-ratio: 4/5
    }
}

.home-header .--after-content .--main .--images>div:first-child .svg-wrapper {
    left: 50%;
    max-width: 280px;
    opacity: .85;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 80%
}

@media screen and (max-width:43.688em) {
    .home-header .--after-content .--main .--images>div:first-child .svg-wrapper {
        display: none
    }
}

.home-header .--after-content .--main .--images>div:last-child {
    left: calc(clamp(1rem, 8vw, 8rem)*-.5);
    position: absolute
}

@media screen and (max-width:49.938em) {
    .home-header .--after-content .--main .--images>div:last-child {
        max-width: 170px;
        top: 50%;
        transform: translateY(-50%)
    }
}

@media screen and (min-width:50em) {
    .home-header .--after-content .--main .--images>div:last-child {
        height: calc(100% - clamp(4rem, 9.5vh, 10rem)*2);
        left: calc(clamp(1rem, 8vw, 8rem)*-1);
        top: clamp(4rem, 9.5vh, 10rem)
    }
}

.home-header .--after-content .--main p {
    margin-top: clamp(4rem, 9.5vh, 10rem);
    max-width: clamp(300px, 50vw, 1000px)
}

.home-header .--after-content .--main p+a {
    margin-top: clamp(1rem, 3.5vh, 3rem)
}

.shop-header {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    .shop-header {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.desktop-collections-menu .--collection:hover .secondary-button,
.secondary-button:hover {
    padding-left: 3.5rem;
    padding-right: 0
}

.desktop-collections-menu .--collection:hover .secondary-button .--left,
.secondary-button:hover .--left {
    left: 1rem
}

.desktop-collections-menu .--collection:hover .secondary-button .--right,
.secondary-button:hover .--right {
    right: -100%
}

body.show-collections-menu .desktop-collections-menu {
    opacity: 1;
    pointer-events: all
}

.desktop-collections-menu {
    background-color: #fff;
    height: 80vh;
    left: 0;
    opacity: 0;
    padding: clamp(8rem, 18vh, 16rem) clamp(1rem, 8vw, 8rem) clamp(4rem, 9.5vh, 10rem);
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: opacity .25s ease-in-out;
    width: 100%;
    z-index: 9
}

.desktop-collections-menu .--container {
    display: flex;
    gap: 4rem;
    height: 100%;
    max-width: 1920px;
    width: 100%
}

.desktop-collections-menu .--container>div:first-child {
    flex-shrink: 0
}

.desktop-collections-menu .--container>div:last-child {
    display: grid;
    flex-grow: 1;
    gap: .5rem;
    grid-template-columns: repeat(3, 1fr)
}

.desktop-collections-menu .--collection {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    width: 100%
}

.desktop-collections-menu .--collection>div.img-wrapper {
    width: 100%
}

.desktop-collections-menu .--collection>div:nth-child(2) {
    flex-grow: 1
}

.desktop-collections-menu .--collection .secondary-button {
    align-self: start
}

.mobile-menu .main-menu-link {
    position: relative
}

.mobile-menu .main-menu-link:after {
    border-bottom: 1px solid #1c1c1c;
    bottom: -.5rem;
    content: "";
    position: absolute;
    right: -.5rem;
    transition: width .25s cubic-bezier(.19, 1, .22, 1), left .25s cubic-bezier(.19, 1, .22, 1), right .25s cubic-bezier(.19, 1, .22, 1);
    width: 0
}

@media(any-hover:hover) {
    .mobile-menu .main-menu-link:hover:after {
        left: 0;
        width: calc(100% + .5em)
    }
}

.mobile-menu .active.main-menu-link {
    font-weight: 700
}

.mobile-menu .active.main-menu-link:after {
    left: 0;
    width: calc(100% + .5em)
}

body.active-mobile-menu .mobile-menu {
    left: 0
}

.mobile-menu {
    background-color: #fff;
    height: 100%;
    left: 100%;
    overflow: scroll;
    padding: 6rem clamp(1rem, 8vw, 8rem) 2rem;
    position: fixed;
    top: 0;
    transition: left .25s ease-in-out;
    width: 100%;
    z-index: 9
}

@media screen and (max-width:64em) {
    .mobile-menu {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.mobile-menu>ul {
    display: flex;
    flex-direction: column;
    margin-bottom: clamp(1rem, 4vh, 3rem);
    row-gap: clamp(1rem, 4vh, 3rem)
}

.mobile-menu>ul>li:first-child {
    display: none
}

.mobile-menu>ul>li.active .show-menu-collections>span:last-child {
    transform: rotateX(180deg)
}

.mobile-menu>ul>li.active .collections {
    display: block
}

.mobile-menu .nav-language {
    border-top: 1px solid #1c1c1c;
    padding-top: clamp(1rem, 4vh, 3rem)
}

.mobile-menu .nav-language a {
    font-weight: 400
}

.mobile-menu .nav-language .active:after {
    border-bottom-color: #1c1c1c
}

.mobile-menu .collections {
    display: none;
    margin-top: clamp(1rem, 3.5vh, 3rem)
}

.mobile-menu .collections .--container>div {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr)
}

.mobile-menu .collections .--container .--collection {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.mobile-menu .collections .--container .--collection>div:last-child {
    height: clamp(150px, 40vh, 180px);
    width: 100%
}

.mobile-menu .show-menu-collections {
    align-items: center;
    background-color: transparent;
    border: none;
    display: flex;
    gap: .5rem;
    padding: 0
}

.mobile-menu .show-menu-collections>span:last-child {
    font-size: 1rem;
    transition: transform .25s ease-in-out
}

.nav-footer-menu ul {
    column-gap: clamp(1rem, 4vw, 6rem);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: clamp(1rem, 3.5vh, 3rem)
}

.nav-footer-menu ul a {
    color: #1c1c1c
}

.nav-footer-menu ul a.active {
    padding-right: .5em;
    position: relative
}

.nav-footer-menu ul a.active:after {
    background-color: #1c1c1c;
    bottom: -.5em;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%
}

.nav-language ul a,
.nav-language ul span.active {
    position: relative
}

.nav-language ul a:after,
.nav-language ul span.active:after {
    border-bottom: 1px solid #1c1c1c;
    bottom: -.5rem;
    content: "";
    position: absolute;
    right: -.5rem;
    transition: width .25s cubic-bezier(.19, 1, .22, 1), left .25s cubic-bezier(.19, 1, .22, 1), right .25s cubic-bezier(.19, 1, .22, 1);
    width: 0
}

@media(any-hover:hover) {

    .nav-language ul a:hover:after,
    .nav-language ul span.active:hover:after {
        left: 0;
        width: calc(100% + .5em)
    }
}

.nav-language ul a.active,
.nav-language ul span.active {
    font-weight: 700
}

.nav-language ul a.active:after,
.nav-language ul span.active:after {
    left: 0;
    width: calc(100% + .5em)
}

.nav-main .--divider {
    background-color: #fff !important
}

.nav-language ul {
    display: flex;
    gap: .5rem
}

.nav-language ul .--divider {
    background-color: #1c1c1c;
    display: block;
    height: auto;
    width: 1px
}

.nav-language ul a:after {
    border-bottom-color: #fff;
    bottom: -.57rem
}

.nav-language ul span.active:after {
    border-bottom-color: #fff
}

.nav-main .main-menu-link,
body.show-collections-menu .nav-main .main-menu-link,
body.woocommerce-page .nav-main .main-menu-link {
    position: relative
}

.nav-main .main-menu-link:after {
    border-bottom: 1px solid #1c1c1c;
    bottom: -.5rem;
    content: "";
    position: absolute;
    right: -.5rem;
    transition: width .25s cubic-bezier(.19, 1, .22, 1), left .25s cubic-bezier(.19, 1, .22, 1), right .25s cubic-bezier(.19, 1, .22, 1);
    width: 0
}

@media(any-hover:hover) {
    .nav-main .main-menu-link:hover:after {
        left: 0;
        width: calc(100% + .5em)
    }
}

.nav-main .active.main-menu-link {
    font-weight: 700
}

.nav-main .active.main-menu-link:after {
    left: 0;
    width: calc(100% + .5em)
}

.nav-main.alt-menu .cart-trigger>span:first-child,
body.active-mobile-menu .cart-trigger>span:first-child,
body.show-collections-menu .cart-trigger>span:first-child,
body.woocommerce-page .nav-main .cart-trigger>span:first-child {
    color: #1c1c1c
}

.nav-main.alt-menu .cart-trigger .cart-total,
body.active-mobile-menu .cart-trigger .cart-total,
body.show-collections-menu .cart-trigger .cart-total,
body.woocommerce-page .nav-main .cart-trigger .cart-total {
    background-color: #1c1c1c;
    color: #fff
}

.nav-main.alt-menu .main-menu-link,
body.show-collections-menu .nav-main .main-menu-link,
body.woocommerce-page .nav-main .main-menu-link {
    color: #1c1c1c;
    position: relative
}

.nav-main.alt-menu .nav-language,
body.show-collections-menu .nav-main .nav-language,
body.woocommerce-page .nav-main .nav-language {
    color: #1c1c1c !important
}

.nav-main.alt-menu .nav-language .--divider,
body.show-collections-menu .nav-main .nav-language .--divider,
body.woocommerce-page .nav-main .nav-language .--divider {
    background-color: #1c1c1c !important
}

.nav-main.alt-menu .user-link,
body.show-collections-menu .nav-main .user-link,
body.woocommerce-page .nav-main .user-link {
    color: #1c1c1c
}

.nav-main.alt-menu .logo-wrapper svg path,
body.show-collections-menu .nav-main .logo-wrapper svg path,
body.woocommerce-page .nav-main .logo-wrapper svg path {
    fill: #1c1c1c
}

.nav-main {
    background-color: transparent;
    color: #fff;
    display: none;
    left: 0;
    padding: clamp(1rem, 3.5vh, 3rem) clamp(1rem, 8vw, 8rem);
    position: fixed;
    top: 0;
    transition: background-color .25s ease-in-out;
    width: 100%;
    z-index: 10
}

.nav-main.alt-menu {
    background-color: #fff
}

.nav-main.alt-menu .main-menu-link:after,
.nav-main.alt-menu .nav-language a:after,
.nav-main.alt-menu .nav-language span:after {
    border-bottom-color: #1c1c1c
}

.nav-main .main-menu-link {
    color: #1c1c1c;
    position: relative
}

.nav-main .main-menu-link:after {
    border-bottom-color: #fff
}

.nav-main .main-menu-link.active {
    padding-right: .5em
}

.nav-main .main-menu-link.active:after {
    width: 100%
}

.nav-main .desktop-show-collections {
    background-color: transparent;
    border: none;
    padding: 0
}

.nav-main>ul {
    align-items: center;
    display: flex
}

.nav-main>ul>li:first-child {
    margin-right: auto
}

.nav-main>ul>li:not(:first-child):not(:last-child) {
    margin-right: 2rem
}

.nav-main .logo-wrapper {
    height: 3.5rem;
    width: 12rem
}

.nav-main .logo-wrapper svg path {
    fill: #fff;
    transition: fill .25s ease-in-out
}

.nav-main .main-menu-link {
    color: #fff
}

.nav-main .main-menu-link,
.nav-main .user-link {
    transition: color .25s ease-in-out
}

@media(any-hover:hover) {
    .nav-main .user-link:hover {
        color: #9c7560 !important
    }
}

.nav-main .desktop-show-collections {
    cursor: pointer
}

.mobile-nav.alt-menu .cart-trigger>span:first-child,
body.active-mobile-menu .cart-trigger>span:first-child,
body.show-collections-menu .cart-trigger>span:first-child,
body[data-view=shop] .mobile-nav .cart-trigger>span:first-child,
body[data-view=single-product] .mobile-nav .cart-trigger>span:first-child {
    color: #1c1c1c
}

.mobile-nav.alt-menu .cart-trigger .cart-total,
body.active-mobile-menu .cart-trigger .cart-total,
body.show-collections-menu .cart-trigger .cart-total,
body[data-view=shop] .mobile-nav .cart-trigger .cart-total,
body[data-view=single-product] .mobile-nav .cart-trigger .cart-total {
    background-color: #1c1c1c;
    color: #fff
}

.cart-trigger {
    background-color: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 0;
    position: relative
}

@media(any-hover:hover) {
    .cart-trigger:hover>span:first-child {
        color: #9c7560 !important
    }

    .cart-trigger:hover .cart-total {
        background-color: #9c7560 !important
    }
}

.cart-trigger>span:first-child {
    font-size: 1.7rem;
    transition: color .25s ease-in-out
}

.cart-trigger .cart-total {
    align-items: center;
    aspect-ratio: 1/1;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    position: absolute;
    right: -.5rem;
    top: -.5rem;
    transition: background-color .25s ease-in-out, color .25s ease-in-out;
    width: 1.3rem
}

.cart-trigger .cart-total,
.mobile-nav.alt-menu,
body[data-view=shop] .mobile-nav,
body[data-view=single-product] .mobile-nav {
    background-color: #fff;
    color: #1c1c1c
}

.mobile-nav.alt-menu .logo-wrapper svg path,
body[data-view=shop] .mobile-nav .logo-wrapper svg path,
body[data-view=single-product] .mobile-nav .logo-wrapper svg path {
    fill: #1c1c1c
}

.mobile-nav.alt-menu .menu-trigger>span,
body[data-view=shop] .mobile-nav .menu-trigger>span,
body[data-view=single-product] .mobile-nav .menu-trigger>span {
    background-color: #1c1c1c
}

body.active-mobile-menu .mobile-nav {
    color: #1c1c1c
}

body.active-mobile-menu .mobile-nav .menu-trigger {
    transform: rotate(45deg);
    transition: transform .25s ease-in-out .25s
}

body.active-mobile-menu .mobile-nav .menu-trigger>span {
    background-color: #1c1c1c
}

body.active-mobile-menu .mobile-nav .menu-trigger>span:first-child {
    top: 50%;
    transform: rotate(90deg);
    transition: top .25s ease-in-out, background-color .25s ease-in-out, transform .25s ease-in-out .25s
}

body.active-mobile-menu .mobile-nav .menu-trigger>span:nth-child(2) {
    opacity: 0;
    transition: background-color .25s ease-in-out, opacity .25s ease-in-out
}

body.active-mobile-menu .mobile-nav .menu-trigger>span:last-child {
    bottom: 50%;
    transform: translateY(50%);
    transition: bottom .25s ease-in-out, background-color .25s ease-in-out, transform .25s ease-in-out .25s
}

body.active-mobile-menu .mobile-nav .logo-wrapper svg path {
    fill: #1c1c1c
}

.mobile-nav {
    background-color: transparent;
    color: #fff;
    left: 0;
    padding: clamp(1rem, 3.5vh, 3rem) clamp(1rem, 8vw, 8rem);
    position: fixed;
    top: 0;
    transition: color .25s ease-in-out, background-color .25s ease-in-out;
    width: 100vw;
    z-index: 10
}

@media screen and (max-width:64em) {
    .mobile-nav {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.mobile-nav ul {
    align-items: center;
    display: flex
}

.mobile-nav ul>li:nth-child(2) {
    margin: auto
}

.mobile-nav ul>li:nth-child(3) {
    margin-right: 1rem
}

.mobile-nav .logo-wrapper {
    width: 5rem
}

.mobile-nav .logo-wrapper svg {
    width: 100%
}

.mobile-nav .logo-wrapper svg path {
    fill: #fff;
    transition: fill .25s ease-in-out
}

.mobile-nav .menu-trigger {
    aspect-ratio: 1/.6;
    background-color: transparent;
    border: none;
    position: relative;
    transform: rotate(0);
    transition: transform .25s ease-in-out;
    width: 2.5rem
}

.mobile-nav .menu-trigger>span {
    background-color: #fff;
    height: 2px;
    left: 0;
    position: absolute;
    transition: background-color .25s ease-in-out;
    width: 100%
}

.mobile-nav .menu-trigger>span:first-child {
    top: 0;
    transition: top .25s ease-in-out .25s, background-color .25s ease-in-out, transform .25s ease-in-out
}

.mobile-nav .menu-trigger>span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
    transition: background-color .25s ease-in-out, opacity .25s ease-in-out ease-in-out
}

.mobile-nav .menu-trigger>span:last-child {
    bottom: 0;
    transition: bottom .25s ease-in-out .25s, background-color .25s ease-in-out, transform .25s ease-in-out
}

.nav-social-network ul {
    align-items: center;
    display: flex;
    gap: 1rem
}

.nav-social-network ul a {
    transition: color .25s ease-in-out
}

@media(any-hover:hover) {
    .nav-social-network ul a:hover {
        color: #9c7560
    }
}

.nav-social-network ul a span {
    font-size: 1.6rem
}

.nav-sticky ul a {
    position: relative
}

.nav-sticky ul a:after {
    border-bottom: 1px solid #1c1c1c;
    bottom: -.5rem;
    content: "";
    position: absolute;
    right: -.5rem;
    transition: width .25s cubic-bezier(.19, 1, .22, 1), left .25s cubic-bezier(.19, 1, .22, 1), right .25s cubic-bezier(.19, 1, .22, 1);
    width: 0
}

@media(any-hover:hover) {
    .nav-sticky ul a:hover:after {
        left: 0;
        width: calc(100% + .5em)
    }
}

.nav-sticky ul a.active {
    font-weight: 700
}

.nav-sticky ul a.active:after {
    left: 0;
    width: calc(100% + .5em)
}

@media screen and (min-width:50em) {
    body {
        overflow: visible !important
    }
}

.nav-sticky {
    align-items: center;
    background-color: #fff;
    display: none;
    height: auto;
    justify-content: center;
    left: 0;
    min-height: 10vh;
    padding: 1rem;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 15
}

@media screen and (min-width:50em) {
    .nav-sticky {
        display: flex
    }
}

.nav-sticky ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center
}

@media screen and (min-width:50em) {
    .nav-sticky ul {
        gap: 4rem
    }
}

form .field-error {
    border: 1px solid red;
    color: red
}

form .success {
    color: green
}

form .error {
    color: red
}

.module-five header,
.module-one header,
.module-three header {
    column-gap: clamp(1rem, 8vw, 8rem);
    display: grid;
    margin-bottom: clamp(2rem, 6vh, 5rem)
}

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

    .module-five header,
    .module-one header,
    .module-three header {
        grid-template-columns: max-content 1fr
    }
}

.module-five header p,
.module-one header p,
.module-three header p {
    margin-top: clamp(1rem, 3.5vh, 3rem);
    padding-left: clamp(1rem, 8vw, 8rem)
}

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

    .module-five header p,
    .module-one header p,
    .module-three header p {
        grid-row: 2
    }
}

.module-five header .--subtitle,
.module-one header .--subtitle,
.module-three header .--subtitle {
    border-bottom: 1px solid #9c7560;
    color: #9c7560;
    padding-bottom: .5em
}

@media screen and (max-width:50em) {

    .module-five header .--subtitle,
    .module-one header .--subtitle,
    .module-three header .--subtitle {
        grid-row: 1;
        margin-bottom: clamp(1rem, 3.5vh, 3rem);
        width: fit-content
    }
}

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

    .module-five header .--subtitle,
    .module-one header .--subtitle,
    .module-three header .--subtitle {
        align-self: end;
        grid-row: span 2;
        justify-self: end
    }
}

.default-header .--container>div.img-wrapper img,
.module-five .--images>div:first-child,
.module-one .--grid>a,
.module-one .--grid .column,
.module-three .figure>div:first-of-type,
.module-three .figure>div:last-of-type {
    aspect-ratio: 4/5
}

.module-five .--images>div:last-child {
    aspect-ratio: 10/7
}

.module-five {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    .module-five {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

@media screen and (min-width:61.313em) {
    .module-five .--content {
        padding-left: clamp(1rem, 8vw, 8rem)
    }
}

@media screen and (max-width:64em) {
    .module-five .--content>div.cols {
        display: flex;
        flex-direction: column;
        row-gap: clamp(1rem, 3.5vh, 3rem)
    }
}

@media screen and (min-width:64.063em) {
    .module-five .--content>div.cols {
        column-gap: clamp(4rem, 8vw, 8rem);
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .module-five .--content>div p {
        margin-bottom: clamp(1rem, 3.5vh, 3rem)
    }
}

.module-five .--content>div b {
    display: inline-block;
    margin-bottom: clamp(1rem, 3.5vh, 3rem)
}

@media screen and (min-width:64.063em) {
    .module-five .--content a {
        grid-column: 1
    }
}

.module-five .--content a.secondary-button {
    margin-top: clamp(1rem, 3.5vh, 3rem)
}

.module-five .--images {
    display: flex;
    gap: 1rem;
    margin-top: clamp(2rem, 6vh, 5rem)
}

@media screen and (max-width:31.25em) {
    .module-five .--images {
        align-items: center
    }
}

.module-five .--images>div:first-child {
    flex-basis: 45%
}

.module-five .--images>div:last-child {
    flex-basis: 55%
}

@media screen and (min-width:31.313em) {
    .module-five .--images>div:last-child {
        padding-bottom: clamp(4rem, 12vw, 8rem);
        padding-top: clamp(4rem, 12vw, 8rem)
    }
}

.module-four header {
    column-gap: clamp(1rem, 8vw, 8rem);
    display: grid;
    margin-bottom: clamp(2rem, 6vh, 5rem)
}

@media screen and (min-width:50.063em) {
    .module-four header {
        grid-template-columns: max-content 1fr
    }
}

.module-four header p {
    margin-top: clamp(1rem, 3.5vh, 3rem);
    padding-left: clamp(1rem, 8vw, 8rem)
}

@media screen and (min-width:50.063em) {
    .module-four header p {
        grid-row: 2
    }
}

.module-four header .--subtitle {
    border-bottom: 1px solid #9c7560;
    color: #9c7560;
    padding-bottom: .5em
}

@media screen and (max-width:50em) {
    .module-four header .--subtitle {
        grid-row: 1;
        margin-bottom: clamp(1rem, 3.5vh, 3rem);
        width: fit-content
    }
}

@media screen and (min-width:50.063em) {
    .module-four header .--subtitle {
        align-self: end;
        grid-row: span 2;
        justify-self: end
    }
}

.default-header .--container>div.img-wrapper img,
.module-four .--container>.--wrapper>div:first-child>div:last-child {
    aspect-ratio: 4/5
}

.module-four .--container>.--wrapper>div:first-child>div:first-child {
    aspect-ratio: 10/7
}

.module-four header {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: 1rem
}

@media screen and (max-width:64em) {
    .module-four header {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.module-four header p {
    padding-left: 0
}

.module-four .--container>.--wrapper {
    display: flex
}

@media screen and (max-width:75em) {
    .module-four .--container>.--wrapper {
        flex-direction: column
    }
}

.module-four .--container>.--wrapper>div:first-child {
    position: relative
}

@media screen and (min-width:75.063em) {
    .module-four .--container>.--wrapper>div:first-child {
        flex-basis: 60%
    }
}

.module-four .--container>.--wrapper>div:first-child>div:last-child {
    height: calc(100% - clamp(1rem, 3.5vh, 3rem)*2);
    position: absolute;
    right: 0;
    top: clamp(1rem, 3.5vh, 3rem)
}

@media screen and (min-width:75.063em) {
    .module-four .--container>.--wrapper>div:first-child>div:last-child {
        height: calc(100% - clamp(4rem, 9.5vh, 10rem)*2);
        top: clamp(4rem, 9.5vh, 10rem)
    }
}

.module-four .--container>.--wrapper>div:first-child>div:last-child>img {
    transform: none !important
}

@media screen and (min-width:75.063em) {
    .module-four .--container>.--wrapper>div:last-child {
        flex-basis: 40%
    }

    .module-four .--content {
        padding-bottom: clamp(4rem, 9.5vh, 10rem);
        padding-top: clamp(4rem, 9.5vh, 10rem)
    }
}

.module-four .--content .--wrapper {
    background-color: #253a32;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 3.5vh, 3rem);
    height: 100%;
    justify-content: center;
    padding: clamp(4rem, 9.5vh, 10rem) clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:75em) {
    .module-four .--content .--wrapper {
        padding-left: clamp(1rem, 8vw, 8rem)
    }
}

@media screen and (min-width:75.063em) {
    .module-four .--content .--wrapper a {
        align-self: end
    }
}

.module-four .--content .--wrapper .secondary-button {
    color: #fff
}

.module-highlight .--container .img-wrapper {
    aspect-ratio: 10/7
}

@media screen and (min-width:50.063em) {
    .module-highlight[data-reverse=true] {
        padding-left: clamp(1rem, 8vw, 8rem)
    }

    .module-highlight[data-reverse=true] .--container {
        flex-direction: row-reverse
    }

    .module-highlight[data-reverse=false] {
        padding-right: clamp(1rem, 8vw, 8rem)
    }
}

.module-highlight .--container {
    display: flex
}

@media screen and (max-width:50em) {
    .module-highlight .--container {
        flex-direction: column;
        row-gap: clamp(1rem, 3.5vh, 3rem)
    }
}

@media screen and (min-width:50.063em) {
    .module-highlight .--container {
        column-gap: clamp(1rem, 8vw, 8rem)
    }

    .module-highlight .--container>div {
        flex-basis: 50%
    }

    .module-highlight .--container>div:first-child {
        flex-shrink: 0
    }
}

.module-highlight .--container>div:last-child {
    display: flex
}

@media screen and (max-width:50em) {
    .module-highlight .--container>div:last-child {
        justify-content: center;
        padding: 0 clamp(1rem, 8vw, 8rem)
    }
}

@media screen and (min-width:50.063em) {
    .module-highlight .--container>div:last-child {
        align-items: center
    }
}

.module-one header {
    column-gap: clamp(1rem, 8vw, 8rem);
    display: grid;
    margin-bottom: clamp(2rem, 6vh, 5rem)
}

@media screen and (min-width:50.063em) {
    .module-one header {
        grid-template-columns: max-content 1fr
    }
}

.module-one header p {
    margin-top: clamp(1rem, 3.5vh, 3rem);
    padding-left: clamp(1rem, 8vw, 8rem)
}

@media screen and (min-width:50.063em) {
    .module-one header p {
        grid-row: 2
    }
}

.module-one header .--subtitle {
    border-bottom: 1px solid #9c7560;
    color: #9c7560;
    padding-bottom: .5em
}

@media screen and (max-width:50em) {
    .module-one header .--subtitle {
        grid-row: 1;
        margin-bottom: clamp(1rem, 3.5vh, 3rem);
        width: fit-content
    }
}

@media screen and (min-width:50.063em) {
    .module-one header .--subtitle {
        align-self: end;
        grid-row: span 2;
        justify-self: end
    }
}

.module-one {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

.default-header .--container>div.img-wrapper img,
.module-one .--grid>a,
.module-one .--grid .column{
    aspect-ratio: 4/5
}

@media screen and (min-width:55.063em) {
    .module-text-image[data-reverse=true] .--container {
        flex-direction: row-reverse
    }
}

.module-text-image .--container {
    display: flex;
    gap: clamp(1rem, 3.5vh, 3rem);
    padding: 0 clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:55em) {
    .module-text-image .--container {
        flex-direction: column
    }
}

@media screen and (min-width:55.063em) {
    .module-text-image .--container {
        align-items: center
    }
}

.module-text-image .--container header {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.module-text-image .--container header .--year {
    color: #9c7560
}

@media screen and (min-width:55.063em) {
    .module-text-image .--container .--left {
        flex-basis: 60%
    }

    .module-text-image .--container .--right {
        flex-basis: 40%
    }
}

.module-one header,
.module-three header {
    column-gap: clamp(1rem, 8vw, 8rem);
    display: grid;
    margin-bottom: clamp(2rem, 6vh, 5rem)
}

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

    .module-one header,
    .module-three header {
        grid-template-columns: max-content 1fr
    }
}

.module-one header p,
.module-three header p {
    margin-top: clamp(1rem, 3.5vh, 3rem);
    padding-left: clamp(1rem, 8vw, 8rem)
}

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

    .module-one header p,
    .module-three header p {
        grid-row: 2
    }
}

.module-one header .--subtitle,
.module-three header .--subtitle {
    border-bottom: 1px solid #9c7560;
    color: #9c7560;
    padding-bottom: .5em
}

@media screen and (max-width:50em) {

    .module-one header .--subtitle,
    .module-three header .--subtitle {
        grid-row: 1;
        margin-bottom: clamp(1rem, 3.5vh, 3rem);
        width: fit-content
    }
}

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

    .module-one header .--subtitle,
    .module-three header .--subtitle {
        align-self: end;
        grid-row: span 2;
        justify-self: end
    }
}

.module-one,
.module-three,
.module-two .--container>div:first-child {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

.default-header .--container>div.img-wrapper img,
.module-one .--grid>a,
.module-one .--grid .column,
.module-three .figure>div:first-of-type,
.module-three .figure>div:last-of-type {
    aspect-ratio: 4/5
}

.module-one .--grid>a:hover .secondary-button,
.module-one .--grid .column:hover .secondary-button,
.secondary-button:hover {
    padding-left: 3.5rem;
    padding-right: 0
}

.module-one .--grid>a:hover .secondary-button .--left,
.module-one .--grid .column:hover .secondary-button .--left,
.secondary-button:hover .--left {
    left: 1rem
}

.module-one .--grid>a:hover .secondary-button .--right,
.module-one .--grid .column:hover .secondary-button .--right,
.secondary-button:hover .--right {
    right: -100%
}

.module-one .--grid>a .img-wrapper.img-product>img,
.module-one .--grid .column .img-wrapper.img-product>img{
    transition: .7s cubic-bezier(.2, .68, .28, .79)
}

@media screen and (any-hover:hover) {
    .module-one .--grid>a .img-wrapper.img-product>img:hover,
    .module-one .--grid .column .img-wrapper.img-product>img:hover{
        transform: scale(1.2)
    }
}

@media screen and (max-width:64em) {
    .module-one {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.module-one header p {
    max-width: clamp(300px, 50vw, 1000px)
}

@media screen and (max-width:61.875em) {
    .module-one header p {
        padding-left: 0
    }
}

.module-one .--grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr)
}

@media screen and (min-width:61.938em) {
    .module-one .--grid {
        grid-template-columns: repeat(3, minmax(200px, 550px));
        margin-left: auto;
        margin-right: auto;
        width: fit-content
    }
}

.module-one .--grid>a,
.module-one .--grid .column, .module-one .--grid .column a{
    height: 100%;
    position: relative;
    width: 100%
}

@media screen and (max-width:61.875em) {
    .module-one .--grid>a:nth-child(3n+1),
    .module-one .--grid .column:nth-child(3n+1){
        grid-column: span 2
    }
}

.module-one .--grid>a .img-wrapper,
.module-one .--grid .column .img-wrapper{
    height: 100%;
    overflow: hidden;
    width: 100%
}

.module-one .--grid>a .img-wrapper.img-product>.--hover,
.module-one .--grid .column .img-wrapper.img-product>.--hover{
    border: 0 solid #253a32;
    height: 100%;
    left: 0;
    mix-blend-mode: screen;
    position: absolute;
    top: 0;
    transition: border .15s ease;
    width: 100%;
    z-index: 2
}

.module-one .--grid>a .secondary-button,
.module-one .--grid .column .secondary-button{
    bottom: 2rem;
    position: absolute;
    right: 2rem
}

@media screen and (max-width:61.875em) {
    .module-one .--grid>a .secondary-button,
    .module-one .--grid .column .secondary-button{
        display: none
    }
}

.module-one footer {
    display: flex;
    justify-content: center;
    margin-top: clamp(1rem, 3.5vh, 3rem)
}

@media screen and (max-width:64em) {
    .module-three .--content {
        display: flex;
        flex-direction: column;
        row-gap: clamp(1rem, 3.5vh, 3rem)
    }
}

@media screen and (min-width:64.063em) {
    .module-three .--content {
        column-gap: clamp(4rem, 8vw, 8rem);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        padding-left: clamp(1rem, 8vw, 8rem)
    }

    .module-three .--content>div p {
        margin-bottom: clamp(1rem, 3.5vh, 3rem)
    }

    .module-three .--content a {
        grid-column: 1
    }
}

@media screen and (max-width:64em) {
    .module-three {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.module-three.--reverse-img .figure>div:last-of-type {
    left: unset;
    right: clamp(1rem, 3.5vh, 3rem)
}

@media screen and (min-width:64.063em) {
    .module-three.--reverse-img .figure>div:last-of-type {
        right: clamp(6rem, 14vh, 12rem)
    }
}

@media screen and (max-width:64.063em) {
    .module-three.--reverse-images-on-mobile .figure {
        display: none
    }

    .module-three.--reverse-images-on-mobile .figure.--reversed {
        display: flex
    }
}

.module-three .figure {
    display: flex;
    flex-direction: column;
    margin-top: clamp(2rem, 6vh, 5rem);
    position: relative;
    row-gap: clamp(1rem, 3.5vh, 3rem)
}

.module-three .figure.--reversed {
    display: none
}

@media screen and (min-width:64.063em) {
    .module-three .figure>div:first-of-type {
        aspect-ratio: 48/25
    }
}

.module-three .figure>div:last-of-type {
    height: calc(100% - clamp(1rem, 3.5vh, 3rem)*2);
    left: clamp(1rem, 3.5vh, 3rem);
    position: absolute;
    top: clamp(1rem, 3.5vh, 3rem);
    z-index: 2
}

@media screen and (max-width:64.063em) {
    .module-three .figure>div:last-of-type {
        aspect-ratio: unset;
        width: calc(100% - clamp(1rem, 3.5vh, 3rem)*2)
    }
}

@media screen and (min-width:64.063em) {
    .module-three .figure>div:last-of-type {
        height: calc(100% - clamp(6rem, 14vh, 12rem)*2);
        left: clamp(6rem, 14vh, 12rem);
        top: clamp(6rem, 14vh, 12rem)
    }
}

.module-three .figure>div:last-of-type>img {
    transform: none !important
}

.module-three .figure>span {
    align-self: end
}

.module-timeline .timeline .--item:after {
    background-color: #9c7560;
    content: "";
    height: 1px;
    position: absolute;
    right: clamp(1rem, 8vw, 8rem);
    width: clamp(2rem, 8vw, 8rem)
}

.module-timeline {
    padding-left: 1rem;
    padding-right: 1rem
}

@media screen and (min-width:84.375em) {
    .module-timeline {
        padding: 0
    }
}

.module-timeline .timeline {
    display: flex;
    flex-direction: column;
    position: relative;
    row-gap: 12rem
}

@media screen and (min-width:84.375em) {
    .module-timeline .timeline {
        padding: 6rem 0
    }
}

.module-timeline .timeline:after,
.module-timeline .timeline:before {
    background: linear-gradient(#fff, hsla(0, 0%, 100%, 0));
    content: "";
    height: 5vh;
    left: 10px;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 10px;
    z-index: 9
}

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

    .module-timeline .timeline:after,
    .module-timeline .timeline:before {
        left: 50%
    }
}

.module-timeline .timeline:after {
    background: linear-gradient(hsla(0, 0%, 100%, 0), #fff);
    bottom: 0;
    top: unset
}

.module-timeline .timeline .progress-bar {
    background-color: #9c7560;
    content: "";
    height: 0;
    left: 10px;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 5px;
    z-index: 9
}

@media screen and (min-width:84.375em) {
    .module-timeline .timeline .progress-bar {
        left: 50%
    }
}

@media screen and (max-width:84.313em) {
    .module-timeline .timeline .progress-bar {
        display: none
    }
}

.module-timeline .timeline .--item {
    display: grid;
    padding-top: clamp(2rem, 6vh, 5rem);
    position: relative
}

@media screen and (max-width:84.313em) {
    .module-timeline .timeline .--item {
        row-gap: clamp(2rem, 6vh, 5rem)
    }
}

@media screen and (min-width:84.375em) {
    .module-timeline .timeline .--item {
        column-gap: calc(.5rem + 20px);
        grid-template-columns: 1fr 1fr
    }
}

.module-timeline .timeline .--item:after {
    top: 0
}

.module-timeline .timeline .--item .--year {
    color: #9c7560
}

@media screen and (min-width:84.375em) {
    .module-timeline .timeline .--item.reverse>div {
        grid-row: 1
    }

    .module-timeline .timeline .--item.reverse>div:first-of-type {
        grid-column: 2
    }

    .module-timeline .timeline .--item.reverse>div:last-of-type {
        grid-column: 1
    }

    .module-timeline .timeline .--item.reverse>div:last-of-type.has-image {
        padding-left: 0;
        padding-right: clamp(1rem, 8vw, 8rem)
    }

    .module-timeline .timeline .--item p {
        padding-left: clamp(1rem, 8vw, 8rem)
    }
}

.module-timeline .timeline .--item>div:not(.vertical-line) {
    display: flex;
    flex-direction: column;
    gap: 1em;
    opacity: .1;
    transition: .25s ease-in-out
}

@media screen and (max-width:84.375em) {
    .module-timeline .timeline .--item>div:not(.vertical-line) {
        grid-column: 2
    }
}

@media screen and (min-width:84.375em) {
    .module-timeline .timeline .--item>div:first-of-type {
        grid-column: 1;
        padding-left: clamp(1rem, 8vw, 8rem);
        padding-right: clamp(1rem, 8vw, 8rem)
    }

    .module-timeline .timeline .--item>div:last-of-type {
        grid-column: 2;
        grid-row: 1
    }

    .module-timeline .timeline .--item>div:last-of-type.has-image {
        padding-left: clamp(1rem, 8vw, 8rem)
    }
}

.module-timeline .timeline .--item .img-wrapper img {
    aspect-ratio: 1/1;
    height: 100%;
    max-width: 100%
}

.module-timeline .timeline .--item.active>div:not(.vertical-line) {
    opacity: 1
}

.module-timeline .timeline .vertical-line {
    grid-column: 1;
    position: relative
}

@media screen and (max-width:84.313em) {
    .module-timeline .timeline .vertical-line {
        display: none
    }
}

@media screen and (min-width:84.375em) {
    .module-timeline .timeline .vertical-line {
        height: 100%;
        left: 50%;
        position: absolute;
        transform: translateX(-50%)
    }
}

.module-timeline .timeline .vertical-line:after {
    background-color: #e2ddd9;
    content: "";
    height: calc(100% + 12rem + clamp(2rem, 6vh, 5rem));
    left: 50%;
    position: absolute;
    top: calc(clamp(2rem, 6vh, 5rem) - 6rem + clamp(2rem, 6vh, 5rem)*2/-2);
    transform: translateX(-50%);
    width: 5px
}

.module-timeline .timeline .circle {
    aspect-ratio: 1/1;
    background-color: #fff;
    border: 1px solid #9c7560;
    border-radius: 50%;
    display: block;
    left: 50%;
    position: absolute;
    top: 50vh;
    transform: translate(-50%, -50%);
    width: 20px;
    z-index: 9
}

@media screen and (max-width:84.313em) {
    .module-timeline .timeline .circle {
        display: none
    }
}

.module-timeline .--skip {
    background-color: #fff;
    border: none;
    color: #9c7560;
    cursor: pointer;
    display: none !important;
    left: 50%;
    padding: 1em;
    position: sticky;
    text-decoration: underline;
    top: 70%;
    transform: translate(-50%);
    width: fit-content;
    z-index: 30
}

@media screen and (max-width:84.313em) {
    .module-timeline .--skip {
        top: 90%
    }
}

.module-two .--container>div:first-child {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

.module-two .--container>div.img-wrapper {
    aspect-ratio: 48/25
}

.module-two .--container {
    background-color: #1c1c1c;
    color: #fff;
    display: flex
}

@media screen and (max-width:56.25em) {
    .module-two .--container {
        flex-direction: column-reverse
    }
}

@media screen and (min-width:56.313em) {
    .module-two .--container {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .module-two .--container>div {
        flex-basis: 50%
    }
}

.module-two .--container>div:first-child {
    display: flex;
    flex-direction: column;
    z-index: 2
}

@media screen and (max-width:64em) {
    .module-two .--container>div:first-child {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

@media screen and (max-width:56.25em) {
    .module-two .--container>div:first-child {
        padding-bottom: clamp(4rem, 9.5vh, 10rem);
        padding-top: clamp(4rem, 9.5vh, 10rem)
    }
}

@media screen and (min-width:56.313em) {
    .module-two .--container>div:first-child {
        grid-column: 1;
        grid-row: 1;
        justify-content: center
    }
}

.module-two .--container>div:first-child p {
    margin: clamp(1rem, 3.5vh, 3rem) 0
}

@media screen and (min-width:56.313em) {
    .module-two .--container>div.img-wrapper {
        grid-column: 1/span 2;
        grid-row: 1
    }
}

.module-two .--container>div .primary-button {
    border-bottom: 1px solid #fff;
    color: #fff
}

@media(any-hover:hover) {

    .module-two .--container>div .primary-button:hover:after,
    .module-two .--container>div .primary-button:hover:before {
        transform: scaleY(0);
        transition: transform .1s linear .1s
    }

    .module-two .--container>div .primary-button:hover .--top-line:after,
    .module-two .--container>div .primary-button:hover .--top-line:before {
        transition: width .1s linear;
        width: 0
    }
}

.module-two .--container>div .primary-button .--top-line:after,
.module-two .--container>div .primary-button .--top-line:before,
.module-two .--container>div .primary-button:after,
.module-two .--container>div .primary-button:before {
    background-color: #fff
}

.module-two .--container .logo {
    max-width: clamp(200px, 20vw, 1000px)
}

body[data-view=contact] .default-header {
    margin-bottom: 0
}

.sct-contact {
    display: flex;
    flex-direction: column-reverse;
    gap: clamp(1rem, 8vw, 8rem);
    padding: 0 0 0 clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    .sct-contact {
        padding: 0
    }
}

@media screen and (min-width:1001px) {
    .sct-contact {
        flex-direction: row
    }
}

.sct-contact>div {
    width: 100%
}

.sct-contact>div.--form {
    padding-bottom: clamp(6rem, 14vh, 12rem);
    padding-top: clamp(6rem, 14vh, 12rem)
}

@media screen and (max-width:64em) {
    .sct-contact>div.--form {
        padding: clamp(1rem, 3.5vh, 3rem) 1rem
    }
}

.sct-contact>div.--info {
    align-items: center;
    background: linear-gradient(180deg, #253a32, #1c1c1c);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(6rem, 14vh, 12rem) clamp(1rem, 8vw, 8rem);
    row-gap: clamp(1rem, 3.5vh, 3rem)
}

@media screen and (max-width:64em) {
    .sct-contact>div.--info {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.sct-contact>div.--info a {
    align-self: start;
    border-color: #fff;
    color: #fff;
    margin-left: 2rem
}

@media screen and (max-width:64em) {
    .sct-contact>div.--info a {
        margin-left: 1rem
    }
}

.sct-contact>div.--info a .--top-line:after,
.sct-contact>div.--info a .--top-line:before,
.sct-contact>div.--info a:after,
.sct-contact>div.--info a:before {
    background-color: #fff
}

.sct-contact>div hr {
    width: 100%
}

.sct-contact form {
    display: grid;
    gap: clamp(1rem, 3.5vh, 3rem) 1rem;
    grid-template-columns: repeat(2, 1fr)
}

.sct-contact form label {
    font-weight: 700;
    text-transform: uppercase
}

.sct-contact form .--row {
    display: flex;
    flex-direction: column;
    row-gap: .5rem
}

.sct-contact form .--row[data-col="1"] {
    grid-column: 1
}

.sct-contact form .--row[data-col="2"] {
    grid-column: 2
}

.sct-contact form .--row[data-col=full] {
    grid-column: span 2
}

.sct-contact form button {
    align-self: start
}

.sct-contact form select {
    padding: .5em 1em;
    width: 100%;
}

.sct-contact .img-wrapper {
    height: 12rem
}

.sct-contact .img-wrapper img {
    object-fit: contain;
    transform: scale(1) !important
}

.sct-contact address {
    align-self: start;
    display: flex;
    flex-direction: column;
    padding-left: 2rem;
    row-gap: clamp(1rem, 3.5vh, 3rem)
}

@media screen and (max-width:64em) {
    .sct-contact address {
        padding-left: 1rem
    }
}

.sct-contact .ajax-msg {
    display: none
}

.sct-contact .ajax-msg.error {
    color: red;
    display: block
}

.sct-contact .ajax-msg.success {
    color: green;
    display: block
}

.error-404 {
    align-items: center;
    background: linear-gradient(180deg, #253a32, #1c1c1c);
    color: #fff;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    width: 100vw
}

.error-404 .--content a {
    margin-top: 2rem
}

.account-header {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    .account-header {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.breadcrumb-nav {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

.breadcrumb-nav .breadcrumb-nav--link {
    position: relative
}

.breadcrumb-nav .breadcrumb-nav--link:after {
    border-bottom: 1px solid #1c1c1c;
    bottom: -.5rem;
    content: "";
    position: absolute;
    right: -.5rem;
    transition: width .25s cubic-bezier(.19, 1, .22, 1), left .25s cubic-bezier(.19, 1, .22, 1), right .25s cubic-bezier(.19, 1, .22, 1);
    width: 0
}

@media(any-hover:hover) {
    .breadcrumb-nav .breadcrumb-nav--link:hover:after {
        left: 0;
        width: calc(100% + .5em)
    }
}

.breadcrumb-nav .active.breadcrumb-nav--link {
    font-weight: 700
}

.breadcrumb-nav .active.breadcrumb-nav--link:after {
    left: 0;
    width: calc(100% + .5em)
}

.breadcrumb-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: calc(clamp(6rem, 14vh, 12rem) - 1rem)
}

@media screen and (max-width:64em) {
    .breadcrumb-nav {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.breadcrumb-nav .breadcrumb-nav--link.active {
    font-weight: 700;
    pointer-events: none
}

body[data-view=account] .woocommerce-message {
    margin-bottom: clamp(6rem, 14vh, 12rem);
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    body[data-view=account] .woocommerce-message {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

/*.account-form-wrapper,*/
/*.woocommerce-ResetPassword {*/
/*    padding-left: clamp(1rem, 8vw, 8rem);*/
/*    padding-right: clamp(1rem, 8vw, 8rem)*/
/*}*/

/*@media screen and (max-width:64em) {*/
/*    .account-form-wrapper {*/
/*        padding-left: 1rem;*/
/*        padding-right: 1rem*/
/*    }*/
/*}*/

.account-form-wrapper form {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.account-form-wrapper form .form-row-flex {
    align-items: start;
    display: flex;
    flex-direction: column;
    row-gap: 1rem
}

/*.woocommerce-ResetPassword {*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    gap: 1rem;*/
/*    padding-bottom: clamp(6rem, 14vh, 12rem)*/
/*}*/

/*@media screen and (max-width:64em) {*/
/*    .woocommerce-ResetPassword {*/
/*        padding-left: 1rem;*/
/*        padding-right: 1rem*/
/*    }*/
/*}*/

.woocommerce-ResetPassword .form-row-flex {
    align-items: start;
    display: flex;
    flex-direction: column;
    row-gap: 1rem
}

body[data-view=account] .woocommerce-notices-wrapper {
    margin: auto;
    /*width: calc(100% - clamp(1rem, 8vw, 8rem)*2)*/
}

@media screen and (max-width:64em) {
    body[data-view=account] .woocommerce-notices-wrapper {
        padding-left: 1rem;
        padding-right: 1rem;
        width: calc(100% - 2rem)
    }
}

.orders-list {
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    .orders-list {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.orders-list>header {
    margin-bottom: 1rem
}

.orders-list>header:not(:first-of-type) {
    margin-top: 2rem
}

.orders-list>div:not(:last-of-type) {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    position: relative
}

.orders-list>div:not(:last-of-type):after {
    background-color: #444;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%
}

.orders-list .account-orders {
    align-items: center;
    display: flex;
    gap: 2rem;
    justify-content: space-between
}

.orders-list .accoung-orders-status {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.orders-list .account-orders-status-icon {
    display: flex;
    font-size: 200%
}

.orders-list .account-orders-details {
    display: flex;
    flex-direction: column
}

.orders-list .account-order-details-title {
    font-weight: 700
}

.orders-list .account-order-details-number {
    font-style: italic;
    margin-top: .5rem
}

.orders-list .account-orders-action {
    display: flex;
    flex-direction: column;
    margin-top: 2rem;
    row-gap: 1rem
}

.orders-list .account-view-order-title {
    align-items: center;
    display: flex;
    flex-direction: column;
    width: fit-content
}

.orders-list .account-view-order {
    margin-bottom: 2rem
}

.account-view-order,
.woocommerce-customer-details,
.woocommerce-order-details {
    /*padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)*/
}

@media screen and (max-width:64em) {

    .account-view-order,
    .woocommerce-order-details {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.woocommerce-order-details table {
    border: 1px solid rgba(0, 0, 0, .1);
    border-collapse: separate;
    border-radius: 5px;
    margin: 0 -1px 24px 0;
    text-align: left;
    width: 100%
}

.woocommerce-order-details table th {
    font-weight: 700;
    line-height: 1.5em;
    padding: 9px 12px
}

.woocommerce-order-details table td {
    border-top: 1px solid rgba(0, 0, 0, .1);
    line-height: 1.5em;
    padding: 9px 12px;
    vertical-align: middle
}

@media screen and (max-width:64em) {
    .woocommerce-customer-details {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.woocommerce-customer-details address {
    border-color: rgba(0, 0, 0, .1);
    border-radius: 5px;
    border-style: solid;
    border-width: 1px 2px 2px 1px;
    font-style: normal;
    margin-bottom: 0;
    padding: 9px 12px;
    text-align: left;
    width: 100%
}

.woocommerce-checkout>.cart,
body.logged-in .payment_box>fieldset:last-of-type {
    display: none
}

.woocommerce-checkout main.checkout_page {
    display: flex;
    flex-direction: column-reverse;
    gap: clamp(1rem, 8vw, 8rem);
    padding: 0
}

@media screen and (min-width:1001px) {
    .woocommerce-checkout main.checkout_page {
        flex-direction: row
    }
}

.woocommerce-checkout main.checkout_page>.checkout-box {
    padding-left: clamp(1rem, 8vw, 8rem);
    width: 100%
}

@media screen and (max-width:64em) {
    .woocommerce-checkout main.checkout_page>.checkout-box {
        padding-left: 1rem
    }
}

.woocommerce-checkout0 h3 {
    display: none
}

.woocommerce-checkout0 .woocommerce-NoticeGroup {
    height: 0;
    opacity: 0
}

.woocommerce-checkout main.checkout_page form.woocommerce-checkout {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    padding-top: 1rem
}

@media screen and (max-width:64em) {
    .woocommerce-checkout main.checkout_page form.woocommerce-checkout {
        padding-right: 1rem
    }
}

.woocommerce-checkout .woocommerce-invalid-required-field label {
    color: red
}

.woocommerce-checkout .woocommerce-invalid-required-field input {
    border-color: red
}

.woocommerce-checkout0 .form-row {
    display: flex;
    flex-direction: column;
    justify-content: end;
    row-gap: 1rem
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr)
}

.woocommerce-checkout0 textarea {
    border: 1px solid #1c1c1c;
    min-height: 300px;
    outline: none;
    padding: .5em 1em;
    width: 100%
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
    border: 1px solid #1c1c1c;
    border-radius: 0;
    height: auto;
    margin: 0;
    padding: .5em 1em
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: unset;
    display: unset;
    line-height: unset;
    padding: 0
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%)
}

.woocommerce-checkout .select2-container--default .select-dropdown .select2-results__options {
    border-radius: 0
}

.woocommerce-checkout .steps-title+div {
    margin-top: clamp(1rem, 3.5vh, 3rem)
}

.woocommerce-checkout000 .wc_payment_methods {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: clamp(1rem, 3.5vh, 3rem)
}

.woocommerce-checkout000 .wc_payment_methods .payment_box {
    margin-top: .5rem
}

.woocommerce-checkout000 .wc_payment_methods fieldset {
    border: none !important;
    padding: 0 !important
}

.woocommerce-checkout000 .wc_payment_method>label {
    display: none
}

.woocommerce-checkout .next-step-button {
    margin-top: 2rem
}

.woocommerce-checkout .stripe-gateway-stripelink-modal-trigger {
    display: none !important
}

.custom-quantity {
    align-items: center;
    display: flex
}

.custom-quantity label {
    margin-right: 2rem
}

.custom-quantity input {
    aspect-ratio: 1/1;
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 50%;
    color: #fff;
    margin: 0 .5rem;
    text-align: center;
    width: 2rem
}

.custom-quantity input::-webkit-inner-spin-button,
.custom-quantity input::-webkit-outer-spin-button {
    appearance: none
}

.custom-quantity button {
    aspect-ratio: 1/1;
    background-color: transparent;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    width: 1rem
}

.custom-quantity button.decrease:before,
.custom-quantity button.increase:before {
    background-color: #fff;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: 50%;
    width: 100%
}

.custom-quantity button.increase:after {
    background-color: #fff;
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    width: 1px
}

.shop-filters {
    margin-bottom: clamp(1rem, 3.5vh, 3rem);
    padding-bottom: 0;
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem)
}

@media screen and (min-width:34.375em) {
    .shop-filters {
        margin-bottom: clamp(4rem, 9.5vh, 10rem)
    }
}

.shop-filters:after {
    display: none
}

.shop-filters.active .--sub-menu {
    display: flex !important
}

@media screen and (min-width:34.375em) {
    .shop-filters .primary-button {
        display: none
    }
}

.shop-filters .--container {
    display: grid;
    row-gap: 2rem
}

@media screen and (max-width:34.313em) {
    .shop-filters .--container {
        margin-top: 2rem
    }
}

@media screen and (min-width:34.375em) {
    .shop-filters .--container {
        gap: 2rem
    }
}

@media screen and (max-width:34.313em) {
    .shop-filters .--container:not(.active) {
        display: none
    }
}

@media screen and (min-width:34.375em) {
    .shop-filters .--container {
        display: flex;
        flex-wrap: wrap;
        row-gap: 2rem
    }

    .shop-filters .--container>div:first-child {
        margin-right: auto
    }
}

.shop-filters .--container>button[data-action=reset-filter] {
    align-items: center;
    align-self: baseline;
    background-color: transparent;
    border: none;
    color: #9c7560;
    cursor: pointer;
    display: flex;
    gap: .5em
}

@media screen and (max-width:34.313em) {
    .shop-filters .--container>button[data-action=reset-filter] {
        width: fit-content
    }
}

.shop-filters .--container>button[data-action=reset-filter]:after {
    background-color: #9c7560
}

.shop-filters .--container>button[data-action=reset-filter] .cross {
    display: flex;
    height: .8rem;
    position: relative;
    transform: rotate(45deg);
    width: .8rem
}

.shop-filters .--container>button[data-action=reset-filter] .cross:before {
    background-color: #9c7560;
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    width: 1px
}

.shop-filters .--container>button[data-action=reset-filter] .cross:after {
    background-color: #9c7560;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: 50%;
    width: 100%
}

.shop-filters .--container .--filter-group {
    width: 100%
}

@media screen and (min-width:34.375em) {
    .shop-filters .--container .--filter-group {
        width: 9rem
    }
}

.shop-filters .--container .--filter-group button {
    background-color: transparent;
    border: none;
    color: #9c7560;
    cursor: pointer;
    padding: 0
}

@media screen and (min-width:34.375em) {
    .shop-filters .--container .--filter-group button {
        cursor: pointer
    }
}

@media screen and (max-width:34.313em) {
    .shop-filters .--container .--filter-group button.--title {
        border-bottom: 1px solid #9c7560;
        pointer-events: none;
        text-align: start;
        width: 100%
    }
}

.shop-filters .--container .--filter-group button.--filter {
    align-items: center;
    display: flex;
    gap: .5rem;
    text-align: left
}

.shop-filters .--container .--filter-group button.--filter:not([data-state=active]) .active-icon {
    display: none
}

.shop-filters .--container .--filter-group button.--filter[data-state=disabled] {
    color: gray;
    opacity: .5;
    pointer-events: none
}

.shop-filters .--container .--filter-group .--sub-menu {
    flex-direction: column;
    gap: .75rem;
    margin-top: 1rem
}

@media screen and (max-width:34.313em) {
    .shop-filters .--container .--filter-group .--sub-menu {
        display: flex
    }
}

@media screen and (min-width:34.375em) {
    .shop-filters .--container .--filter-group .--sub-menu {
        border-left: 1px solid rgba(156, 117, 96, .3);
        display: none;
        margin-top: 2rem;
        padding-left: .75rem
    }
}

@media screen and (max-width:34.313em) {
    .shop-filters .--container .--filter-group .--sub-menu .active-icon {
        font-size: .8rem
    }
}

.products-grid .wc-block-product, .products-grid .--container .product {
    aspect-ratio: 4/5
}

.products-grid .img-wrapper.col-span-1,
.products-grid .img-wrapper.col-span-2,
.products-grid .img-wrapper.col-span-3,
.products-grid .img-wrapper.col-span-4,
.products-grid .img-wrapper.col-span-5 {
    aspect-ratio: 10/7
}

.product:hover .secondary-button,
.wc-block-product:hover .secondary-button,
.secondary-button:hover {
    padding-left: 3.5rem;
    padding-right: 0
}

.product:hover .secondary-button .--left,
.wc-block-product:hover .secondary-button .--left,
.secondary-button:hover .--left {
    left: 1rem
}

.product:hover .secondary-button .--right,
.wc-block-product:hover .secondary-button .--right,
.secondary-button:hover .--right {
    right: -100%
}

.wc-block-product {
    flex-direction: column;
    width: 100%
}

.wc-block-product .img-wrapper {
    height: clamp(250px, 60vw, 750px)
}

.wc-block-product .img-wrapper img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.wc-block-product a {
    display: block;
    width: 100%;
}

.wc-block-product .pic {
    position: relative
}

.wc-block-product .pic .secondary-button {
    bottom: 1rem;
    position: absolute;
    right: 2rem
}

.wc-block-product .tit {
    column-gap: .5rem;
    display: grid;
    padding: 1rem .5rem .5rem
}

@media screen and (min-width:50em) {
    .wc-block-product .tit {
        grid-template-columns: 1fr max-content;
        padding: 1rem 2rem
    }
}

.wc-block-product .tit .wp-block-post-terms {
    font-weight: 600
}

@media screen and (max-width:49.938em) {
    .wc-block-product .tit .wp-block-post-terms {
        font-size: 1.2rem
    }
}

@media screen and (min-width:50em) {
    .wc-block-product .tit .wp-block-post-terms {
        grid-column: 1
    }
}

.wc-block-product .tit .wp-block-post-title {
    margin-top: .5rem;
    font-size: inherit;
}

@media screen and (min-width:50em) {
    .wc-block-product .tit .wp-block-post-title {
        grid-column: 1
    }
}

.wc-block-product .tit .amount {
    font-weight: 600
}

@media screen and (max-width:49.938em) {
    .wc-block-product .tit .amount {
        font-size: 1.2rem;
        margin-top: 2rem
    }
}

@media screen and (min-width:50em) {
    .wc-block-product .tit .amount {
        grid-column: 2;
        grid-row: 1
    }
}

.products-grid .--container {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(120px, 1fr))
}

@media screen and (min-width:50em) {
    .products-grid .--container {
        grid-template-columns: repeat(3, minmax(300px, 1fr))
    }
}

.products-grid .img-wrapper.col-span-1 {
    grid-column: span 1
}

.products-grid .img-wrapper.col-span-2 {
    grid-column: span 2
}

.products-grid .img-wrapper.col-span-3 {
    grid-column: span 3
}

.products-grid .img-wrapper.col-span-4 {
    grid-column: span 4
}

.products-grid .img-wrapper.col-span-5 {
    grid-column: span 5
}

@keyframes loader {
    0% {
        transform: rotate(0)
    }

    50% {
        transform: rotate(180deg)
    }

    to {
        transform: rotate(180deg)
    }
}

body.shop-loader-active .shop-loader {
    opacity: 1;
    z-index: 100
}

.shop-loader {
    cursor: default;
    height: 100%;
    left: 0;
    opacity: 0;
    pointer-events: visible;
    position: fixed;
    top: 0;
    transition: opacity .25s ease-in-out;
    width: 100%;
    z-index: -1
}

.shop-loader .--container {
    display: flex;
    height: 100%;
    width: 100%
}

.shop-loader .--container>div:first-child {
    display: none
}

@media screen and (min-width:601px) {
    .shop-loader .--container>div:first-child {
        align-items: center;
        background-color: #fff;
        display: flex;
        justify-content: center;
        width: 65%
    }
}

.shop-loader .--container>div:last-child {
    align-items: center;
    background: linear-gradient(180deg, #253a32, #1c1c1c);
    color: #fff;
    display: flex;
    font-size: 4rem;
    justify-content: center;
    min-width: 300px;
    width: 100%
}

@media screen and (min-width:601px) {
    .shop-loader .--container>div:last-child {
        width: 35%
    }
}

.shop-loader .--container>div:last-child>span {
    animation: loader .8s cubic-bezier(.14, .82, .78, .34) infinite
}

.single-product .--summary {
    column-gap: clamp(1rem, 8vw, 8rem);
    display: flex;
    padding-bottom: clamp(6rem, 14vh, 12rem);
    position: relative
}

.single-product .--summary:after {
    background-color: #9c7560;
    bottom: 0;
    content: "";
    height: 1px;
    position: absolute;
    right: clamp(1rem, 8vw, 8rem);
    width: clamp(2rem, 8vw, 8rem)
}

@media screen and (max-width:56.813em) {
    .single-product .--summary {
        flex-direction: column;
        row-gap: clamp(2rem, 6vh, 5rem)
    }
}

@media screen and (min-width:56.875em) {
    .single-product .--summary>div {
        flex-basis: 50%
    }
}

.single-product .--summary>div.img-wrapper {
    aspect-ratio: 1/1;
    background-color: #ececec
}

.single-product .--summary>div:last-child {
    align-items: start;
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media screen and (max-width:56.813em) {
    .single-product .--summary>div:last-child {
        padding: 0 1rem
    }
}

.single-product .--summary>div:last-child>span.--price {
    margin-bottom: 4rem;
    margin-top: 2rem
}

.single-product .--summary>div:last-child>span.--title {
    margin: .5rem 0
}

.single-product .--summary>div:last-child>span.--reference {
    font-size: .9rem;
    font-weight: 300
}

.single-product .--summary>div:last-child>p {
    margin-bottom: clamp(1rem, 3.5vh, 3rem)
}

.single-product .--summary>div:last-child>.show-more-content {
    margin-top: clamp(1rem, 3.5vh, 3rem)
}

.single-product .--summary>div:last-child .cross-cells {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(.5rem, 1vw, 1rem);
    margin: clamp(2rem, 6vh, 5rem) 0
}

.single-product .--summary>div:last-child .cross-cells .cross_sell_link {
    aspect-ratio: 1/1;
    max-width: 150px;
    position: relative;
    width: 50vw
}

.single-product .--summary>div:last-child .cross-cells .cross_sell_link:before {
    align-items: end;
    aspect-ratio: 1/1;
    background-color: #e2ddd9;
    content: attr(data-title);
    display: flex;
    font-size: .9rem;
    left: 5%;
    opacity: 0;
    padding: .5rem;
    position: absolute;
    top: 5%;
    transform: scale(1.2);
    transition: opacity .25s ease-in-out, transform .25s ease-in-out;
    width: 80%
}

@media(any-hover:hover) {
    .single-product .--summary>div:last-child .cross-cells .cross_sell_link:hover:before {
        opacity: .8;
        transform: scale(1)
    }
}

.single-product .--summary>div:last-child .cross-cells .cross_sell_link .img-wrapper {
    width: 100%
}

@media screen and (max-width:64em) {
    .technical-details h2 {
        padding: 0 1rem
    }
}

@media screen and (min-width:40em) {
    .technical-details {
        padding: 0 clamp(1rem, 8vw, 8rem)
    }
}

.technical-details .--content {
    display: grid;
    gap: clamp(2rem, 4vw, 4rem) clamp(2rem, 6vh, 5rem);
    margin-top: 2rem;
    padding: 0 clamp(1rem, 8vw, 8rem)
}

@media screen and (max-width:64em) {
    .technical-details .--content {
        padding: 0 1rem
    }
}

@media screen and (min-width:40em) {
    .technical-details .--content {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (min-width:55em) {
    .technical-details .--content {
        grid-template-columns: repeat(3, 1fr)
    }
}

.technical-details .--content>div {
    display: flex;
    flex-direction: column;
    position: relative
}

.technical-details .--content>div:after {
    border-bottom: 1px solid rgba(0, 0, 0, .25);
    bottom: -1rem;
    content: "";
    position: absolute;
    width: 100%
}

@media screen and (max-width:39.7em) {
    .technical-details .--content>div:after {
        border-color: rgba(0, 0, 0, .15)
    }
}

.default-header .--container>div.img-wrapper img {
    aspect-ratio: 4/5
}

.secondary-button:hover {
    padding-left: 3.5rem;
    padding-right: 0
}

.secondary-button:hover .--left {
    left: 1rem
}

.secondary-button:hover .--right {
    right: -100%
}

.secondary-button {
    color: #9c7560;
    cursor: pointer;
    display: flex;
    overflow: hidden;
    padding-right: 3.5rem;
    position: relative;
    transition: padding .25s ease-in-out
}

.secondary-button .--icon {
    position: absolute;
    transform: scale(2.5) translateY(1px);
    transition-duration: .25s;
    transition-timing-function: ease-in-out
}

.secondary-button .--left {
    left: -100%;
    transition-property: left
}

.secondary-button .--right {
    right: 1rem;
    transition-property: right
}

.default-header {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: calc(100vh - 2rem);
    position: relative
}

.default-header .--container {
    height: 100%;
    position: relative
}

@media screen and (max-width:64em) {
    .default-header .--container {
        display: flex;
        flex-direction: column;
        gap: clamp(1rem, 3.5vh, 3rem);
        justify-content: flex-end;
        padding-bottom: 4rem;
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.default-header .--container>div:first-child {
    color: #fff
}

@media screen and (min-width:64.063em) {
    .default-header .--container>div:first-child {
        bottom: 4rem;
        left: clamp(1rem, 8vw, 8rem);
        position: absolute;
        width: 30%
    }
}

.default-header .--container>div:first-child h1 {
    margin-bottom: clamp(1rem, 3.5vh, 3rem)
}

.default-header .--container>div:first-child .--label {
    display: inline-block;
    font-weight: 700;
    margin-bottom: clamp(1rem, 3.5vh, 3rem);
    position: relative
}

.default-header .--container>div:first-child .--label:after {
    border-bottom: 1px solid #fff;
    bottom: -.5em;
    content: "";
    left: 0;
    position: absolute;
    width: clamp(200px, 10vw, 300px)
}

.default-header .--container>div:nth-child(2) {
    height: 100%
}

@media screen and (max-width:64em) {
    .default-header .--container>div.img-wrapper {
        height: auto !important;
        margin-right: auto;
        width: fit-content
    }
}

.default-header .--container>div.img-wrapper img {
    transform: scale(1) !important
}

.default-header .--container>div:last-child:not(:first-child) {
    max-height: 60vh
}

@media screen and (max-width:64em) {
    .default-header .--container>div:last-child:not(:first-child) {
        height: 100% !important;
        order: -1
    }
}

@media screen and (min-width:64.063em) {
    .default-header .--container>div:last-child:not(:first-child) {
        aspect-ratio: 4/5;
        height: calc(100% - 8rem);
        position: absolute;
        right: clamp(1rem, 8vw, 8rem);
        top: 50%;
        transform: translateY(-50%)
    }
}

.default-header>.img-wrapper {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

body:not(.woocommerce-checkout).cart-active .cart {
    backdrop-filter: blur(10px);
    opacity: 1;
    pointer-events: all
}

body:not(.woocommerce-checkout).cart-active .cart .--container {
    transform: translateX(0);
    transition-delay: .25s
}

body:not(.woocommerce-checkout).cart-active .cart .close-button {
    z-index: 1
}

body:not(.woocommerce-checkout) .cart, body[data-view="order_received"] .cart {
    background-color: hsla(0, 0%, 100%, .6);
    cursor: pointer;
    height: 100vh;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 20
}

body:not(.woocommerce-checkout) .cart .--container {
    cursor: default;
    margin-left: auto;
    position: relative;
    transform: translateX(100%);
    transition: transform .25s ease-in-out;
    width: 100%
}

@media screen and (min-width:601px) {
    body:not(.woocommerce-checkout) .cart .--container {
        min-width: 600px;
        width: 35%
    }
}

body.woocommerce-checkout  main.checkout_page .woocommerce-checkout-review-order-table {
    display: none;
}

body.woocommerce-checkout  main.checkout_page .cart .--container {
    width: 100%
}

@media screen and (min-width:1001px) {
    body.woocommerce-checkout  main.checkout_page .cart .--container {
        height: 100vh;
        min-width: 600px;
        overflow: auto;
        position: sticky;
        top: 0;
        width: 35%
    }
}

body.woocommerce-checkout  main.checkout_page .cart .close-button {
    display: none
}

body.woocommerce-checkout  main.checkout_page .cart .custom-quantity {
    display: none !important
}

.cart .close-button {
    position: absolute;
    right: 3rem;
    top: 2rem
}

@media screen and (max-width:64em) {
    .cart .close-button {
        right: 1.5rem
    }
}

.cart .--container {
    background: linear-gradient(180deg, #253a32, #1c1c1c);
    color: #fff;
    height: 100%;
    overflow: auto;
    padding: 2rem clamp(1rem, 8vw, 8rem) 8rem
}

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

.cart .--container>div:first-of-type {
    margin-top: 4rem
}

.cart .--container>div.--product {
    margin-bottom: 4rem
}

.cart .--container>div.--product .--infos {
    display: flex;
    flex-direction: column;
    row-gap: 1em
}

.cart .--container>div.--product .custom-quantity {
    gap: 1em;
    margin-top: .5rem
}

.cart .--container>div:not(.subtotals) {
    column-gap: 2rem;
    display: grid;
    grid-template-columns: .35fr .65fr
}

@media screen and (max-width:64em) {
    .cart .--container>div:not(.subtotals) {
        column-gap: 1rem
    }
}

.cart .--container>div.subtotals {
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
    padding-bottom: 2rem;
    padding-top: 2rem
}

.cart .--container>div.subtotals>div {
    column-gap: 2rem;
    display: grid;
    grid-template-columns: .35fr .65fr
}

@media screen and (max-width:64em) {
    .cart .--container>div.subtotals>div {
        column-gap: 1rem
    }
}

.cart .--container>div.total {
    margin-top: 2rem
}

.cart .--container>div.buttons {
    gap: 2rem;
    margin-top: 4rem
}

.cart .--container>div.buttons a {
    grid-column: span 2
}

.cart .--container .cart-title {
    display: inline-flex;
    gap: .2em
}

.cart .--container .img-wrapper {
    aspect-ratio: 1/1;
    flex-grow: 1;
    flex-shrink: 0;
    max-height: 100px;
    max-width: 100px
}

@media screen and (min-width:601px) {
    .cart .--container .img-wrapper {
        max-height: 150px;
        max-width: 150px
    }
}

.cart .--container .--subtitle,
.cart .--container .title {
    flex-basis: 25%;
    flex-grow: 0;
    flex-shrink: 0
}

.cart .--container .primary-button {
    border-bottom: 1px solid #fff;
    color: #fff;
    flex-basis: 50%;
    flex-shrink: 1
}

@media(any-hover:hover) {

    .cart .--container .primary-button:hover:after,
    .cart .--container .primary-button:hover:before {
        transform: scaleY(0);
        transition: transform .1s linear .1s
    }

    .cart .--container .primary-button:hover .--top-line:after,
    .cart .--container .primary-button:hover .--top-line:before {
        transition: width .1s linear;
        width: 0
    }
}

.cart .--container .primary-button .--top-line:after,
.cart .--container .primary-button .--top-line:before,
.cart .--container .primary-button:after,
.cart .--container .primary-button:before {
    background-color: #fff
}

.cart .--container .secondary-button {
    color: #fff;
    flex-basis: 50%;
    flex-shrink: 1;
    padding-left: 3.5rem
}

.cart .--container .secondary-button:hover {
    padding-left: 0;
    padding-right: 3.5rem
}

.cart .--container .secondary-button:hover .--left {
    left: -100%
}

.cart .--container .secondary-button:hover .--right {
    right: 0
}

.cart .--container .secondary-button .--icon {
    transform: rotate(180deg)
}

.cart .--container .secondary-button .--left {
    left: 0
}

.cart .--container .secondary-button .--right {
    right: -100%
}

.woocommerce-checkout.woocommerce-order-received main>.thankyou {
    align-items: center;
    display: flex;
    font-size: clamp(2rem, var(--baseFontSize) + var(--vwh)*2.8, min(var(--baseFontSize) + 2.8rem, 4rem));
    justify-content: center;
    padding: clamp(2rem, 6vh, 5rem);
    width: 100%
}

@media screen and (max-width:64em) {
    .woocommerce-checkout.woocommerce-order-received main>.thankyou {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.user-link span {
    font-size: 1.7rem
}


.woocommerce-account main .woocommerce {
    padding-top: clamp(1rem, 8vw, 1.2rem);
    padding-left: clamp(1rem, 8vw, 8rem);
    padding-right: clamp(1rem, 8vw, 8rem);
    padding-bottom: clamp(1rem, 14vh, 12rem);
    max-width: 100%;
    position: relative
}
@media screen and (max-width:64em) {
    .woocommerce-account main .woocommerce {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.woocommerce-account .wp-block-post-title,.woocommerce-account main .woocommerce,.woocommerce-cart .wp-block-post-title,.woocommerce-cart main .woocommerce,.woocommerce-checkout .wp-block-post-title,.woocommerce-checkout main .woocommerce {

    margin: 0 auto;
}
#add_payment_method #payment ul.payment_methods li img, .woocommerce-cart #payment ul.payment_methods li img, .woocommerce-checkout #payment ul.payment_methods li img { width: auto; }

/* 新增 20250901 */
.icon-arrow:before {
    content: "";
}
.main-footer .--container .copyrights { padding-bottom: clamp(1rem, 2vh, 3rem) !important; }
.main-footer-height { height: 22rem; }
@media screen and (min-width: 46.938em) { 
    .main-footer .--container .corporate { row-gap: clamp(6rem, 3.5vh, 3rem); } 
    .main-footer .--container>div:first-child { row-gap: clamp(2rem, 2vh, 3rem); } 
    .main-footer .--container>div:last-child .nav-language { justify-self: start; padding-left: 4rem; }
}

@media screen and (max-width: 46.875em) { 
    .main-footer-height .language-opy { opacity: 0 !important; } 
}
@media screen and (max-width: 64em) {
    .default-header .--container { padding-left: 4rem; }
    .mobile-nav { padding-left: 2rem; padding-right: 2rem; }
    .outlets-list { gap: 1rem 4rem !important; flex-direction: column !important; } 
}
