@font-face {
    font-family: 'Belleza';
    src: url('../assets/fonts/Belleza-Regular.woff2') format('woff2'),
        url('../assets/fonts/Belleza-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "SourceSansPro";
    src: url('../assets/fonts/SourceSansPro-Semibold.woff2') format('woff2'),
        url('../assets/fonts/SourceSansPro-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'AktivGroteskEx';
    src: url('../assets/fonts/AktivGroteskExTrial-Light.woff2') format('woff2'),
        url('../assets/fonts/AktivGroteskExTrial-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'AktivGroteskEx';
    src: url('../assets/fonts/AktivGroteskExTrial-Medium.woff2') format('woff2'),
        url('../assets/fonts/AktivGroteskExTrial-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'AktivGroteskEx';
    src: url('../assets/fonts/AktivGroteskExTrial-SemiBold.woff2') format('woff2'),
        url('../assets/fonts/AktivGroteskExTrial-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'AktivGroteskEx';
    src: url('../assets/fonts/AktivGroteskExTrial-Regular.woff2') format('woff2'),
        url('../assets/fonts/AktivGroteskExTrial-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "SourceSansPro";
    src: url('../assets/fonts/SourceSansPro-Light.woff2') format('woff2'),
        url('../assets/fonts/SourceSansPro-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
:root {
    --cLgold: #CCA434;
    --cLgrey: #707070;
    --cLblack:#000000;
    --cLwhite: #FFFFFF;
    --cLcream: #F7F2EA;
    --cLwhite: #FFFFFF;
    --cLblack: #000000;
    --cLdeepRed: #5F2123;
    --cLdarkRed: #461012;
    --cLsoftGold: #DDC992;
    --cLtaupeGrey: #7C7870;
    --cLbeigeStone: #D8D3CA;
    --cLdarkBrown: #190404;
    --cLblackOpacity: #00000029;
    --cLdarkMaroonTransparent: #1A04044D;
    @media screen and (width >= 1200px) {
        --fs:min(16px,1.2vw);
        --logo: min(247px,14vw);
        --labelSize: 12vw;
    }
    @media screen and (width >= 1920px) {
        --fs:min(18px,3.7vw);
        --logo: min(247px,30vw);
    }
    @media screen and (width < 1200px) {
        --fs:min(18px,3.9vw);
        --logo: min(247px,30vw);
        --labelSize: 30vw;
    }
    @media screen and (1200px < width < 1880px) {
        --fs:min(14px,2vw);
        & [class^=btn-] {
            padding: min(0.6rem, 3.8vw) min(1.1rem, 6vw);
        }
    }
}
body {
    margin: 0;
    padding: 0;
    width:100vw;
    font-weight:400;
    line-height:1.5;
    min-height:100vh;
    overflow-x:hidden;
    overflow-y:scroll;
    font-size:var(--fs);
    color:var(--cLdarkBrown);
    font-family:'aktiv-grotesk',sans-serif;
    & * {
        margin-block:0;
        box-sizing: border-box;
    }
    & [style*="--w"]{width:var(--w)}
    & .flex,
    & .row {
        display:flex;
        flex-wrap:wrap;
        &.align-items-center {align-items: center;}
        &.direction-row-reverse {flex-direction: row-reverse;}
        &.direction-column {
            flex-direction: column;
            row-gap: min(2rem,7vw);
        }
        &:has(>:is(.full,.half)) {gap: min(1.4rem,5vw) 10%;}
        & .full {flex:1 1 100%;}
        & .half {flex:1 1 max(300px,40%);}
    }
    & :is(section,footer) {position: relative;}
    & [class^="container"]:not(:is([class*="leaflet"])) {
        --pd:70px;
        width:100%;
        margin-inline: auto;
        &.container{max-width:min(960px,85vw)}
        &.container-xl{max-width:min(1353px,calc(100% - var(--pd)))}
        &.container-xxl{max-width:min(1500px,calc(100% - var(--pd)))}
        &.container-xxxl{max-width:min(1780px,calc(100% - var(--pd)))}
        &.container-max{padding-inline:5vw;max-width:100vw}
        @media screen and (width < 1200px) {
            --pd:13vw;
        }
    }  
    & ul {
        &:not([class]){padding-left:1rem;}
        &[class]{padding-left:0;list-style: none;} 
    }
    /* forms */
    & input {
        &:not(:is(.qty-value,[type="radio"],[type="checkbox"],[type="submit"],[type=image],[type=file])) {
            width: 100%;
            line-height: 1;
        }
        &:is([type="radio"],[type="checkbox"]) {
            margin: 0;
            outline: none;
            flex: 0 0 auto;
            width: min(1.5rem,6vw);
            height: min(1.5rem,6vw);
            accent-color: var(--cLdeepRed);
            &[type="checkbox"] {
                box-shadow: inset 0 0 0 1px var(--cLdeepRed)
            }
            &[type="radio"]:not(:checked) {
                appearance: none;
                border-radius: 2rem;
                border: 1px solid var(--cLdeepRed)
            }
        }
        &[type="date"] {
            position: relative;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none
        }
    }
    & input:not(:is(.qty-value,[type="radio"],[type="checkbox"],[type="button"],[type="submit"],[type="image"],[type="file"])),
    & select,
    & textarea {
        border: none;
        outline: none;
        border-radius: 0;
        font-size: inherit;
        height: min(50px,9vw);
        padding: min(1rem,2.5vw) 0;
        background-color: transparent;
        border-bottom: 1px solid var(--cLdeepRed);
        &:is([multiple="multiple"]) { height: auto }
        &::-webkit-input-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLgray95);
        }
        &::-moz-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLgray95);
        }
        &::-ms-input-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLgray95);
        }
        &::placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLgray95);
        }
        &:is(textarea) {
            width: 100%;
            resize: none;
            font-family: inherit;
            height: min(150px,30vw) !important
        }
    }
    & label:not([class]):has( > input[type="radio"]),.accept {
        position: relative;
        display: flex;
        column-gap: min(1rem,3vw);
    }
    & .accept {font-weight: 400;line-height: 1.5;font-size: min(14px,4vws);}
    & :is(.label-form,label:not(:is([class],:has( input[type="radio"])))) {
        font-weight: 500;
        font-size: min(20px,4vw);
        & span {
            font-weight: 400;
            font-size: min(20px,3.5vw);
        }
    }
    /* Bg */
    &.bg-cLblack,
    & .bg-cLblack {
        color: var(--cLcream);
        background-color:var(--cLblack);
    }
    &.bg-cLdeepRed,
    & .bg-cLdeepRed{
        color: var(--cLcream);
        background-color:var(--cLdeepRed);
        & :is(h1,h2,h3,h4,h5,h6) {color: inherit;}
    }
    &.bg-cLcream,
    & .bg-cLcream{
        /* color: var(--cLcream); */
        background-color:var(--cLcream);
    }
    & .cliping {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        clip-path: inset(0rem round 0rem);
        & img {
            position: fixed;
            inset: 0;
            height: 100%;
            width: 100%;
            object-fit: cover;
            object-position: center;
            filter: brightness(.8);
        }
        &  ~ * {z-index: 1;position: relative;}
    }
    & picture {
        position: relative;
        width: 100%;
        height: 100%;
        display: block;
        overflow: hidden;
        & img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            max-width: inherit;
        }
    }
    /* arrow */
    & .arrow {
        position: relative;
        z-index: 2;
        font-size: 0;
        outline: 0;
        flex: 0 0 auto;
        cursor: pointer;
        max-width: 100%;
        overflow: hidden;
        width: max-content;
        border-radius: 3rem;
        transition: all .2s;
        color: var(--cLgold);
        display: inline-block;
        padding: min(2rem,4.5vw);
        background-color: transparent;
        border: .065rem solid var(--cLgold);
        &::after, 
        &::before {
            position: absolute;
            content: "";
            inset: 30%;
            display: block;
            transition: inherit;
            pointer-events: none;
            background-color: currentColor;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-image: url(../assets/images/arrow.svg);
            mask-image: url(../assets/images/arrow.svg);
        }
        &::after{translate:-100% 0;opacity:0}
        &.slick-disabled {pointer-events:none;opacity:.2}
        &.prev{transform:rotate(-180deg)}
        &:hover{color:var(--clwhite);background-color:var(--cLgold);border-color:var(--cLgold);}
        &:is(a:hover .arrow)::before,
        &:hover::before{translate:100% 0;opacity:0}
        &:is(a:hover .arrow)::after,
        &:hover::after{translate:0 0;opacity:1}
    }
    /* btn */
    & [class^=btn-] {
        position: relative;
        z-index: 1;
        outline: 0;
        display: flex;
        line-height: 1;
        max-width: 100%;
        cursor: pointer;
        font-weight: 500;
        font-size: inherit;
        width: max-content;
        text-align: center;
        align-items: center;
        border-radius: 2rem;
        transition: all .3s;
        column-gap: min(10px,4vw);
        text-transform: initial;
        border: .065rem solid transparent;
        font-family: 'aktiv-grotesk',sans-serif;
        padding: min(.8rem, 2.6vw) min(1.5rem, 6vw);
        &.btn-round {
            position: relative;
            z-index: 1;
            color: var(--cLgrey);
            padding: min(0.7rem,3vw);
            &::after {
                position: absolute;
                content: "";
                inset: 0;
                z-index: -1;
                opacity: .07;
                border-radius: 2rem;
                background-color: var(--cLblack);
            }
        }
        & input {
            padding: 0;
            border: none;
            outline: none;
            color: inherit;
            font-size: inherit;
            font-family: inherit;
            pointer-events: none;
            font-weight: inherit;
            background: transparent;
        }
        & .arrow {
            color: currentColor;
            padding: min(0.7rem,4vw);
            border-color: transparent;
            background-color: transparent;
            &::after, &::before { inset: 0; }
        }
        &:hover .arrow { color: currentColor;}
        &.btn-cLdeepRed {
            color: var(--cLwhite);
            border-color: var(--cLdeepRed);
            background-color: var(--cLdeepRed);
            &:hover {
                color: var(--cLgold);
                border-color: var(--cLdarkRed);
                background-color: var(--cLdarkRed);
            }
        }
        &.btn-brd-cLdarkBrown {
            color: var(--cLdarkBrown);
            background-color: transparent;
            border-color: var(--cLdarkBrown);
            &:hover {
                color: var(--cLdarkRed);
                border-color: var(--cLgold);
                background-color: var(--cLgold);
            }
        }
        &.btn-brd-cLgold {
            color: var(--cLgold);
            background-color: transparent;
            border-color: var(--cLgold);
            &:hover {
                color: var(--cLgold);
                border-color: var(--cLdarkRed);
                background-color: var(--cLdarkRed);
            }
        }
        &.btn-cart{
            color: var(--cLdarkRed);
            border-color: var(--cLgold);
            background-color: var(--cLgold);
            font-family: 'Belleza',sans-serif;
            &:hover {
                color: var(--cLgold);
                border-color: var(--cLdarkRed);
                background-color: var(--cLdarkRed);
            }
        }
        &.btn-cLgold {
            color: var(--cLwhite);
            border-color: var(--cLgold);
            background-color: var(--cLgold);
            &:hover {
                color: var(--cLgold);
                border-color: var(--cLdarkRed);
                background-color: var(--cLdarkRed);
            }
        }
    }
    & .link {
        display: flex;
        font-weight: 400;
        font-style: normal;
        align-items: center;
        color: var(--cLgold);
        font-size: min(16px,4vw);
        text-transform: uppercase;
        &::before {
            position: relative;
            content: '';
            padding: min(.5rem,5vw);
            background-color: currentcolor;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-image: url(../assets/images/arrow.svg);
            mask-image: url(../assets/images/arrow.svg);
        }
        &.none::before {content: none;}
        &.next {
            flex-direction: row-reverse;
        }
        &.prev {
            &::before {
                rotate: -180deg;
            }
        }
    }
    [style^="--icn"] {
        position: relative;
        display:flex;
        align-items: center;
        column-gap:min(10px,4vw);
        &::before {
            position: relative;
            content: "";
            display: block;
            transition: initial;
            pointer-events: none;
            padding: min(.7rem,3vw);
            background-color: currentcolor;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-image: var(--icn);
            mask-image: var(--icn);
        }
        
    }
    /* rs */
    & .rs {
        display: flex;
        flex-wrap: wrap;
        gap: min(.7rem,4vw);
        & [style^="--icn"] {
            border-radius: 2rem;
            color: var(--cLwhite);
            background-color: var(--cLgold);
            &::before {
                scale: .5;
                padding: min(13px,5vw);
            }
            &:hover {
                color: var(--cLwhite);
                background-color: var(--cLdeepRed);
            }
       } 
    }
    /* text */
    & [class^="text"] {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: min(1.1rem,5vw);
        &.text-center{text-align:center;align-items:center}
        &.text-left{text-align:left;align-items:flex-start}
        &.text-right{text-align:right;align-items:flex-end}
    }
    & :is(h1,h2,h3,h4,h5,h6) {
        font-weight: 400;
        line-height: normal;
        color: var(--cLdarkBrown);
        text-transform: uppercase;
        font-family: 'Belleza',sans-serif;
		margin-bottom: 10px;
        &:is(h1) {
            --72: min(68px,7vw);
            @media screen and (1200px < width < 1880px) {
                --72: min(60px,5vw);
            }
            font-size: var(--72);
        }
        &:is(h2) {
            --47: min(40px,6vw);
            @media screen and (1200px < width < 1880px) {
                --47: min(37px,5vw);
            }
            font-size: var(--47);
        }
        &:is(h3) {
            --33: min(33px,6vw);
            @media screen and (1200px < width < 1880px) {
                --33: min(29px,5vw);
            }
            font-size: var(--33);
        }
        &:is(h4) {font-size: min(28px,6vw);}
        &:is(h5) {font-size: min(22px,5vw);}
        &:is(h6) {font-size: min(20px,4.5vw);}
        & em {
            font-style: normal;
            color: var(--cLgold);
            letter-spacing: 2.4px;
            font-size: min(16px,4vw);
        }
        @media screen and (width > 1200px) {
            &:has( em) {margin-top: -1.2rem;}
        }
    }
    & a {
        color: inherit;
        text-decoration:none;
        &.overlay{position:absolute;inset:0;z-index:2}
        &:not([class^=btn-]):hover{color:var(--cLgold)}
    }
    & p:has([class^=btn-]+[class^=btn-]) {
        display: flex;
        flex-wrap: wrap;
        gap: min(1rem,5vw);
        align-items: center;
        &:is(.text-center p) {justify-content: center;}
    }
    ul[class] {
        padding-left: 0;
        list-style: none;
    }
    & .transform-initial {text-transform: initial;}
    & .family-inherit {font-family: inherit;}
    & .weight-400 {font-weight: 400;}
    & .weight-700 {font-weight: 700;}
    & .belleza {font-family: 'Belleza',sans-serif;}
    [class*="underline"] {
        display: inline-block;
        &::after {
            position: relative;
            content: '';
            width: 69px;
            height: 1px;
            display: block;
            background-color: var(--cLdarkBrown);
            margin-block: min(0.9rem,5vw) min(0.9rem,4vw);
        }
        &[class*="-left"] {
            position: relative;
            &::after {
                position: absolute;
                right: 102%;
                margin-block: 0;
                top: min(25%,2rem);
            }
        }
        &[class*="underline-cLsoftGold"]::after {
            background-color: var(--cLsoftGold);
        }   
    }
    .cLgold {color: var(--cLgold);}
    .cLdeepRed {color: var(--cLdeepRed);}
    .cLdarkRed {color: var(--cLdarkRed);}
    .cLsoftGold {color: var(--cLsoftGold);}
    /* slide */
    & .swiper {
        position: relative;
        width: 100%;
        overflow: hidden;
        & .swiper-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            box-sizing: content-box;
            transition-property: transform;
            transition-timing-function: var(--swiper-wrapper-transition-timing-function,initial);
            & .swiper-slide {
                flex-shrink: 0;
                width: 100%;
                height: 100%;
                position: relative;
                transition-property: transform;
                display: block;
            }
        }
        &.swiper-android .swiper-slide, 
        &.swiper-ios .swiper-slide, 
        & .swiper-wrapper {
            transform: translate3d(0px,0,0);
        }
        &.swiper-backface-hidden .swiper-slide {
            transform: translateZ(0);
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }
    }
    /* cards */
    & .event {
        position: relative;
        gap: min(1rem,5vw);
        flex-direction: column;
        padding: min(25px,5vw);
        width: min(409px,100%);
        display: flex !important;
        color: var(--cLdarkBrown);
        background-color: var(--cLcream);
        &.full {
            width: 100%;
            & picture {
                height: min(289px,30vw);
            }
        }
        & picture {
            & img {
                transition: all .3s;
                &:is(.event:hover picture > img) {scale: 1.05;}
            }
        }
        &:not(.full) picture {
            height: min(176px,30vw);
        }
        & > .text:first-of-type {
            padding-top: min(1rem,5vw);
            border-top: 1px solid currentColor;
        }
        & .text {
            & time {
                position: relative;
                top: -6px;
                display: flex;
                column-gap: 5px;
                line-height: 1.3;
                font-size: min(15px,3.4vw);
                font-family: 'AktivGroteskEx',sans-serif;
                & span {
                   position: relative;
                   max-width: 100%;
                   column-gap: 5px;
                   width: max-content;
                   align-items: center;
                   display: inline-flex;
                   &::before {
                        position: relative;
                        content: '';
                        display: block;
                        transition: inherit;
                        pointer-events: none;
                        padding: min(.6rem,1.5vw);
                        background-color: currentColor;
                        -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                        -webkit-mask-position: center;
                        mask-position: center;
                        -webkit-mask-size: contain;
                        mask-size: contain;
                        -webkit-mask-image: url(../assets/images/arrow.svg);
                        mask-image: url(../assets/images/arrow.svg);
                   }
                }
            }
        }
        & .text-center {
            z-index: 3;
            padding-top: min(2rem,5vw);
            border-top: 1px solid currentColor;
        }
    }
    & .gift {
        position: relative;
        display: flex;
        gap: min(1rem,5vw);
        flex-direction: column;
        padding: min(15px,4vw);
        width: min(438px,100%);
        color: var(--cLdarkBrown);
        background-color: var(--cLwhite);
        & .overlay {
            .cat {
                position: absolute;
                left: 50%;
                z-index: 1;
                min-width: 80%;
                text-align: center;
                border-radius: 2rem;
                bottom: min(1rem,5vw);
                color: var(--cLdarkBrown);
                text-transform: uppercase;
                transform: translateX(-50%);
                background-color: var(--cLcream);
                font-family: 'Belleza',sans-serif;
                padding: min(.2rem,3vw) min(1rem,3vw);
            }
        } 
        & .price {
            position: absolute;
            z-index: 1;
            right: 0;
            line-height: 1;
            color: var(--cLgold);
            font-size: min(30px,6vw);
            border-radius: 0 0 0 2rem;
            padding: 1rem 1.4rem 1rem 1.8rem;
            background-color: var(--cLdeepRed);
            font-family: 'Belleza',sans-serif;
        }
        & picture {
            height: min(232px,40vw);
        }
        & .text-center {
            & [class^="btn"] {
                margin: 0 auto -1.5rem;
            }
            & h4 {
                color: var(--cLdarkRed);
            }
            & p {
                font-size: min(20px,4vw);
                margin-top: calc(min(.8rem,3vw) * -1);
            }
        }
    }
    & .product {
        position: relative;
        gap: min(1rem,5vw);
        flex-direction: column;
        padding: min(15px,4vw);
        width: min(335px,100%);
        display: flex !important;
        color: var(--cLdarkBrown);
        background-color: var(--cLwhite);
        &.full {
            width: 100%;
            flex-wrap: wrap;
            border-radius: 20px;
            align-items: center;
            gap: min(2rem,5vw) 10%;
            flex-direction: initial;
            & .cat {font-size: min(15px,4vw);}
            & .grid {
                display: flex;
                row-gap: 10px;
                flex-direction: column;
                flex: 1 1 max(300px,40%);
                & > picture {
                    border-radius: 10px;
                    height: min(559px,90vw);
                }
                & .slider {
                    position: relative;
                    display: flex;
                    column-gap: 10px;
                    & picture {
                        width: 73px;
                        height: 73px;
                        border-radius: 10px;
                    }
                }
            }
            & .text {
                flex: 1 1 max(300px,40%);
                & .description {
                    display: block;
                    margin-block: 1rem;
                    font-size: min(17px,4vw);
                    padding-right: min(3rem,5vw);
                    padding-block: min(2rem,5vw);
                    border-block: 1px solid var(--cLbeigeStone);
                }
                & .other {
                    gap: 1rem;
                    display: flex;
                    flex-wrap: wrap;
                    align-items: center;
                    justify-content: space-between;
                    & .state {
                        position: relative;
                        display: flex;
                        column-gap: 5px;
                        align-items: center;
                        color: var(--cLtaupeGrey);
                        &.stock {
                            font-size: min(17px,4vw);
                            &::before {background-color: #77C97A;}
                        }
                        &::before {
                            position: relative;
                            content: '';
                            width: 12px;
                            height: 12px;
                            display: block;
                            border-radius: 50%;
                            background-color: currentColor;
                        }
                    }
                    & .price {
                        position: relative;
                        display: flex;
                        column-gap: 1rem;
                        align-items: baseline;
                        & .old-price {
                            top: -2px;
                            font-style: min(28px,6vw);
                            color: var(--cLbeigeStone);
                            text-decoration: line-through;
                        }
                        & .current-price {
                            font-weight: 700;
                            font-size: min(39px,7vw);
                            color: var(--cLdarkRed);
                        }
                    }
                }
                & .product-actions {
                    & .qty-value {font-size:min(17px,4vw);}
                    & .btn-cart {
                        font-size: min(20px,4vw);
                        justify-content: space-between;
                        @media screen and (width > 1200px) {
                            & {min-width: min(300px,100%);}
                        }
                    }
                }
            }
        }
        & .cat {
            max-width: 100%;
            width: max-content;
            text-align: center;
            border-radius: 2rem;
            color: var(--cLdarkBrown);
            text-transform: uppercase;
            background-color: var(--cLcream);
            font-family: 'Belleza',sans-serif;
            padding: min(.2rem,3vw) min(1rem,3vw);
        }
        & picture {
            height: min(374px,65vw);
            & .cat {
                position: absolute;
                left: 50%;
                z-index: 1;
                min-width: 80%;
                bottom: min(1rem,5vw);
                transform: translateX(-50%);
            }
            & img {
                transition: all .3s;
                &:is(.product:hover picture > img) {scale: 1.05;}
            }
        }
        & .text {
            & [class^="btn"] {
                font-weight: 700;
                font-size: min(16px,4vw);
                font-family: 'Belleza',sans-serif;
            }
            & h4 {
                color: var(--cLdarkRed);
            }
            & p {
                font-size: min(20px,4vw);
                margin-top: calc(min(.8rem,3vw) * -1);
                font-family: "SourceSansPro", sans-serif;
                & span {line-height: 1;}
            }
        }
    }
    & .pagination {
        position: relative;
        display: flex;
        justify-content: center;
        & .nav {
            position: relative;
            display: flex;
            flex-wrap: wrap;
            gap: min(1rem,4vw);
            align-items: center;
            & li {
                & > * {
                    position: relative;
                    display: flex;
                    aspect-ratio: 1/1;
                    text-align: center;
                    align-items: center;
                    border-radius: 10px;
                    width: min(50px,10vw);
                    justify-content: center;
                    background-color: var(--cLbeigeStone);
                    &.arrow {
                        border: none;
                        padding: min(1.5rem,4vw);
                    }
                    &.active {background-color: var(--cLgold);}
                }
            }
        }
    }
    & .product-actions {
        position: relative;
        gap: 10px;
        z-index: 5;
        display: flex;
        align-items: center;
        & .quantity {
            display: flex;
            padding: 0;
            overflow: hidden;
            border-radius: 50px;
            align-items: center;
            color: var(--cLdarkRed);
            justify-content: center;
            border: 1px solid var(--cLgold);
            & button {
                border: none;
                width: 0;
                height: 0;
                display: flex;
                place-content: center;
                &.btn-decrement {left: 7px;}
                background-color: transparent;
                &.btn-increment {right: 7px;};
                padding: min(1.45rem,5vw) min(.9rem,4vw);
            }
            & .qty-value {
                width: 30px;
                border: none;
                outline: none;
                font-weight: 600;
                text-align: center;
                background: transparent;
                -moz-appearance: textfield;
                &::-webkit-inner-spin-button,
                &::-webkit-outer-spin-button {
                    -webkit-appearance: none;
                    margin: 0;
                }
            }
        }
        & > [class^="btn"] {font-size: min(15px,4vw);}

    }
    & .border-bottom {
        & [class^="container"] {border-bottom: 1px solid var(--cLbeigeStone);}
    }
    /* main */
    & main {
        overflow:clip;
        & .logo {
            position: relative;
            display: block;
            width: var(--logo);
            & img {width: 100%; }
        }
        & > header {
            position: sticky;
            top: 0;
            width: 100%;
            z-index: 1000;
            padding-block: min(1rem,4vw);
            background-color: var(--cLcream);
            border-bottom: 1px solid var(--cLdarkBrown);
            & .row {
                align-items: center;
                justify-content: space-between;
                & .left {
                    & .logo {
                        @media screen and (width >= 1200px) {
                            & {top: min(.7rem,4vw);}
                        }
                        
                    }
                    & .logo-rs {
                        display: flex;
                        align-items: center;
                        column-gap: min(40px,1.9vw);
                    }
                }
                & .right {
                    display: flex;
                    align-items: center;
                    column-gap: min(50px,3vw);
                    & .ct-nav {
                        & .primary {
                            position: relative;
                            display: flex;
                            align-items: center;
                            gap: min(36px,4vw) min(36px,1.9vw);
                            @media screen and (1200px < width < 1880px) {
                                column-gap: min(20px,1.9vw);
                            }
                        }
                    }
                    & .nav {
                        position: relative;
                        display: flex;
                        column-gap: min(10px,1vw);
                    }
                    @media screen and (1200px < width < 1880px) {
                        column-gap: min(30px,2vw);
                    }
                }
            }
            & .aside-nav {
                position: fixed;
                inset: 0;
                z-index: 2;
                opacity: 0;
                visibility: hidden;
                transition: all .3s;
                background-color: var(--cLdarkMaroonTransparent);
                & nav {
                    position: relative;
                    height: 100%;
                    display: flex;
                    margin-left: auto;
                    flex-direction: column;
                    width: min(550px,100%);
                    background-color: var(--cLcream);
                    padding: min(3rem,10vw) min(5rem,10vw);
                    box-shadow: -30px 3px 99px var(--cLblackOpacity);
                    & .menu {
                        position: relative;
                        display: flex;
                        line-height: 1;
                        overflow-y: auto;
                        margin-block: auto;
                        flex-direction: column;
                        row-gap: min(1.3rem,4vw);
                        & a:not([class]) {
                            font-size: min(35px,4vw);
                            text-transform: uppercase;
                            font-family: 'Belleza',sans-serif;

                        }
                    }
                }
                &:is(.nav-is-open .aside-nav) {
                    opacity: 1;
                    visibility: visible;
                }
            }
            & .tgl-nav {
                position: relative;
                display: flex;
                align-items: center;
                column-gap: min(10px,3vw);
                text-transform: uppercase;
                font-family: 'Belleza',sans-serif;
                & .open-nav {
                    position: relative;
                    z-index: 2;
                    height: 16px;
                    row-gap: 5px;
                    display: flex;
                    transition: .2s;
                    cursor: pointer;
                    transition: all .3s;
                    align-items: center;
                    width: min(2rem,5vw);
                    flex-direction: column;
                    justify-content: center;
                    color: var(--cLdarkBrown);
                    &:is(.nav-is-open .open-nav) {
                        row-gap: 0;
                        rotate: 45deg;
                    }
                    & span {
                        width: 100%;
                        height: .1rem;
                        line-height: 0;
                        transition: .3s;
                        border-radius: 1rem;
                        pointer-events: none;
                        background: currentColor;
                        transform-origin: 55% center;
                        &:is(.nav-is-open .open-nav > span:first-child) {
                            rotate: 90deg;
                            margin-bottom: -0.15rem;
                        }
                    }
                }
            }
            & .float-btns {
                position: fixed;
                top: min(9rem,23vw);
                right: min(1rem,2vw);
                row-gap: min(1rem,2vw);
                display: flex;
                align-items: flex-end;
                flex-direction: column;
            }
            & .nav-footer-fixed {
                position: fixed;
                bottom: 0;
                left: 0;
                width: 100%;
                display: flex;
                padding: min(1rem,2vw);
                gap: min(1rem,2vw);
                align-items: center;
                justify-content: center;
                background-color: var(--cLwhite);
                box-shadow: 0 -5px 2rem -1rem var(--cLblack);
                & [class^=btn-] {
                    font-size: min(18px,3.5vw);
                    padding: min(.8rem, 3vw) min(1.5rem, 4vw);
                    & .arrow {
                        padding: min(0.7rem,1.7vw);
                    }
                }
            }
            @media screen and (1300px >= width <= 1880px) {
                & {font-size: min(14px,1vw);}
            }
        }
        & .sc1 {
            & .container-xxxl {
                padding-block: min(4rem,10vw);
                & .row {
                    gap: min(2rem,7vw) 2%;
                    & .left {
                        position: relative;
                        width: 40%;
                        display: grid;
                        grid-gap: 0px;
                        height: min(100%,60vw);
                        grid-template-columns: repeat(10, 1fr);
                        grid-template-rows: auto;
                        & .ct-slider { 
                            height: 100%;
                            grid-area: 1 / 1 / 11 / 10; 
                            & picture {
                                height: 100%;
                                @media screen and (width < 1200px) {
                                    & {filter: brightness(.7);}
                                }
                            }
                            @media screen and (width < 1200px) {
                                & {width: 87vw;}
                            }
                        }
                        & .label { 
                            width: var(--labelSize);
                            grid-area: 4 / 8 / 8 / 11; 
                            & img {
                                object-fit: contain;
                                object-position: top center;
                            }
                        }
                        & .pagination {
                            position: absolute;
                            left: 0;
                            bottom: 0;
                            z-index: 1;
                            display: flex;
                            column-gap: min(1rem,5vw);
                            padding: min(2rem,5vw) min(3rem,7vw);
                        }
                        @media screen and (width < 1200px) {
                            & {
                                width: 100%;
                                height: 60vw;
                            }
                        }
                    }
                    & .right {
                        flex: 1;
                        width: 55%;
                        .text {
                            height: 100%;
                            & h1 {
                                margin-bottom: auto;
                                width: min(616px,100%);
                            }
                            & .nav {
                                position: relative;
                                display: flex;
                                flex-wrap: wrap;
                                gap: min(0.4rem,5vw) min(2rem,6vw);
                                & li {
                                    position: relative;
                                    --li16:16px;
                                    line-height: 1;
                                    letter-spacing: 2.4px;
                                    font-size: min(var(--li16),4vw);
                                    text-transform: uppercase;
                                    /* padding-inline: min(1rem,5vw); */
                                    &:not(:last-child)::after {
                                        position: absolute;
                                        content: '';
                                        pointer-events: none;
                                        inset: 0 calc(min(2rem,6vw) / -2) 0 0;
                                        border-right: 1px solid var(--cLgold);
                                    }
                                    &:first-child {padding-left: 0;}
                                    @media screen and (1200px < width < 1880px) {
                                        --li16:13px;
                                    }
                                }
                            }
                            & .head {
                                color: var(--cLgold);
                                padding-bottom: min(1rem,3vw);
                                margin-bottom: min(1.5rem,4vw);
                                border-bottom: 1px solid var(--cLdarkBrown);
                            }
                            & .flex {
                                gap: min(2rem,5vw) 10%;
                                & .text {
                                    height: inherit;
                                    flex: 1 1 max(200px,55%);
                                    & [class^=btn-]{
                                      margin-top: auto;
                                    }
                                }
                                & picture {
                                    flex: 1 1 max(200px,35%);
                                }
                            }
                        }
                        @media screen and (width < 1200px) {
                            & {width: 100%;}
                        }
                    }
                }
            }
        }
        & .sc2 {
            & .container-xxl {
                padding-block: min(5rem,10vw);
                & .row {
                    gap: min(2rem,7vw) 5%;
                    & .left {
                        flex: 1 1 max(300px,60%);
                        & .grid {
                            grid-gap: 0px;
                            display: grid;
                            grid-template-columns: repeat(40, 1fr);
                            grid-template-rows: repeat(40, 1fr);
                            & .picture1 { grid-area: 1 / 16 / 36 / 41; }
                            & .picture2 { grid-area: 24 / 7 / 41 / 20; }
                            & .text { grid-area: 4 / 1 / 24 / 23; }
                        }

                    }
                    & .right {
                        flex: 1 1 max(300px,35%);
                    }
                }
            }
        }
        & .sc3 {
            & .container-xxxl {
                padding-block: min(3rem,10vw);
                & .wrapper {
                    position: relative;
                    padding-block: min(4rem,10vw);
                    border-block: 1px solid var(--cLdarkBrown);
                    & .row {
                        position: relative;
                        max-width: 100%;
                        & > .flex {
                            gap: min(2rem,5vw);
                            & .text {flex: 1 1 max(300px,40%);}
                            @media screen and (width < 1200px) {
                                & {margin-inline: 0 !important;}
                            }
                        }
                        & .wp-slider {
                            position: relative;
                            display: grid;
                            grid-gap: 0px;
                            grid-template-columns: repeat(5, 1fr);
                            grid-template-rows: repeat(5, 1fr);
                            & .ct-slider {
                                position: relative;
                                column-gap: min(2.5rem,5vw);
                                grid-area: 1 / 1 / 6 / 6; 
                                & .swiper-wrapper {
                                    display: flex;
                                }
                                @media screen and (width < 768px) {
                                    & {width: 94vw;}
                                }
                            }
                            & .pagination {
                                position: absolute;
                                top: 50%;
                                left: 50%;
                                height: 0;
                                z-index: 4;
                                display: flex;
                                align-items: center;
                                width: min(115%,98vw);
                                transform: translate(-50%,-50%);
                                justify-content: space-between;
                            }
                            & .label {
                                position: relative;
                                z-index: 2;
                                top: -53%;
                                left: -10%;
                                aspect-ratio: 1/1;
                                height: max-content;
                                grid-area: 1 / 1 / 3 / 3;
                                width: min(213px,var(--labelSize));
                                & img {object-fit: contain;}
                                @media screen and (width < 1200px) {
                                    & {
                                        top: -20%;
                                        left: -20%;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        & .sc4 {
            & .container-xxxl {
                padding-block: min(3rem,10vw);
                & .wrapper {
                    position: relative;
                    padding-block: min(4rem,10vw);
                    border-block: 1px solid var(--cLdarkBrown);
                    & .row {
                        & > .flex {
                            gap: min(2rem,5vw);
                            & .text {flex: 1 1 max(300px,40%);}
                        }
                        & .wp-slider {
                            position: relative;
                            display: grid;
                            grid-gap: 0px;
                            grid-template-columns: repeat(5, 1fr);
                            grid-template-rows: repeat(5, 1fr);
                            & .ct-slider {
                                position: relative;
                                display: flex;
                                grid-area: 1 / 1 / 6 / 6;
                                column-gap: min(3rem,5vw);
                                justify-content: space-between;
                                @media screen and (width < 768px) {
                                    & {width: 94vw;}
                                }
                            }
                            & .pagination {
                                position: absolute;
                                top: 50%;
                                left: 50%;
                                height: 1;
                                z-index: 4;
                                display: flex;
                                align-items: center;
                                width: min(115%,98vw);
                                transform: translate(-50%,-50%);
                                justify-content: space-between;
                            }
                        }
                    }
                }
            }
            & .label {
                position: relative;
                z-index: 2;
                right: -19%;
                margin-left: auto;
                aspect-ratio: 1/1;
                height: max-content;
                grid-area: 1 / 4 / 3 / 6;
                width: min(213px,var(--labelSize));
                top: calc(min(213px,var(--labelSize)) / -1.7);
                & img {object-fit: contain;}
                @media screen and (width < 1200px) {
                    & {
                        top: -20%;
                        right: -20%;
                    }
                }
            }
            & .container-xxl {
                padding-block: min(5rem,10vw);
                & .grid {
                    position: relative;
                    display: grid;
                    grid-gap: 0px;
                    grid-template-columns: repeat(5, 1fr);
                    grid-template-rows: repeat(5, 1fr);
                    & .listing {
                        position: relative;
                        display: flex;
                        flex-wrap: wrap;
                        gap: min(3rem,9vw) 5%;
                        grid-area: 1 / 1 / 6 / 6;
                        & > article {
                            width: var(--article);
                            @media screen and (width >= 1200px) {
                                width: 30%;
                            }
                            @media screen and (width < 1200px) {
                                width: 47.5%;
                            }
                            @media screen and (width < 700px) {
                                width: 100%;
                            }
                        }
                    }
                }
            }
        }
        & .sc5 {
            z-index: 2;
            & .container-full {
                padding-block: min(5rem,10vw);
                & .images {
                    position: absolute;
                    display: grid;
                    grid-gap: 0px;
                    pointer-events: none;
                    inset: calc(min(10rem,10vw) * -1) 0;
                    grid-template-columns: repeat(40, 1fr);
                    grid-template-rows: repeat(40, 1fr);
                    & picture {
                        position: relative;
                        height: 100%;
                        &:nth-child(1) { 
                            grid-area: 1 / 1 / 19 / 9; 
                            @media screen and (width <= 768px) {
                                & {grid-area: 2 / 1 / 13 / 11;}
                            }
                        }
                        &:nth-child(2) { 
                            grid-area: 22 / 6 / 34 / 12; 
                            @media screen and (width <= 768px) {
                                & {grid-area: 17 / 3 / 24 / 13;}
                            }
                        }
                        &:nth-child(3) { 
                            grid-area: 7 / 30 / 20 / 36; 
                            @media screen and (width <= 768px) {
                                & {grid-area: 7 / 30 / 15 / 40;}
                            }
                        }
                        &:nth-child(4) { 
                            grid-area: 25 / 33 / 41 / 41; 
                            @media screen and (width <= 768px) {
                                & {grid-area: 27 / 31 / 37 / 41;}
                            }
                        }
                        & img {
                            aspect-ratio: 1/2;
                        }
                        @media screen and (width < 1200px) {
                            & {z-index: 2;}
                        }
                    }
                    & ~ * {z-index: 1;}
                }
                & .grid {
                    & .menu {
                        --menu60: 60px;
                        position: relative;
                        text-align: center;
                        font-size: min(var(--menu60),6vw);
                        text-transform: uppercase;
                        mix-blend-mode: difference;
                        font-family: 'Belleza',sans-serif;
                        & li {
                            cursor: pointer;
                            padding-block: min(1rem,5vw);
                            border-bottom: 1px solid var(--cLsoftGold);
                        }
                        @media screen and (1200px < width < 1880px) {
                            & {
                                --menu60: 50px;
                                line-height: 1;
                            }
                        }
                        @media screen and ( width < 1200px) {
                            & {
                                line-height: 1;
                            }
                        }
                    }
                    & .menu__img {
                        position: fixed;
                        top: 0;
                        left: 0;
                        opacity: 0;
                        z-index: 100;
                        overflow: hidden;
                        border-radius: 6px;
                        transition: all .2s;
                        transform: scale(.5);
                        pointer-events: none;
                        width: min(300px,40vw);
                        height: min(400px,70vw);
                        will-change: transform, opacity;
                        & img {
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                            display: block;
                        }
                    }
    
                }
            }

        }
        & .sc6 {
            & .container-xxxl {
                padding-block: min(2rem,7vw);
                & .block {
                    position: relative;
                    & .row {
                        margin-inline: auto;
                        width: min(1466px,90%);
                        gap: min(2rem,10vw) 5%;
                        padding-block: min(5rem,6vw);
                        justify-content: space-between;
                        & .left {
                            position: relative;
                            width: min(508px,100%);
                            & .text {
                                position: relative;
                                width: 100%;
                                padding: min(2rem,5vw);
                                background-color: var(--cLcream);
                            }
                            & .label {
                                position: absolute;
                                z-index: 1;
                                width: var(--labelSize);
                                height: var(--labelSize);
                                top: calc(var(--labelSize) / -3.5);
                                right: calc(var(--labelSize) / -1.5);
                                & img {
                                    object-fit: contain;
                                }
                                @media screen and (width < 1200px) {
                                    & {right: calc(var(--labelSize) / -2.5);}
                                }
                            }
                        }
                        & .right {
                            width: min(540px,100%);
                            & .text {
                                height: 100%;
                                justify-content: flex-end;
                            }
                        }
                    }
                }
            }
        }
        & .sc7 {
            & .container-xxxl {
                padding-block: min(5rem,10vw);
                & .row {
                    gap: min(2rem,10vw) 5%;
                    & .left {
                        flex: 1 1 max(200px,30%);
                        & .grid-gallery {
                            display: grid;
                            grid-template-columns: repeat(40, 1fr);
                            grid-template-rows: repeat(40, 1fr);
                            & .big {
                                height: min(350px,min(100%,60vw));
                                grid-area: 1 / 1 / 35 / 35;
                            }
                            & .small {
                                height: 100%;
                                grid-area: 19 / 28 / 41 / 41; 
                            }
                            & .item {
                                border-radius: 6px;
                            }
                        }
                    }
                    & .center {
                        flex: 1 1 max(200px,20%);
                    }
                    & .right {
                        flex: 1 1 max(300px,40%);
                        & .col2-text {
                            column-count: 2;
                            line-height: 1.7;
                            column-gap: min(2rem,5vw);
                        }
                    }
                }
            }
        }
        & .sc8 {
            & > *:first-child {
                padding-block: min(4rem,10vw);
            }
            & .ct-slider {
                padding-inline: 5vw;
                & .swiper-wrapper {
                    position: relative;
                    display: flex;
                    & picture {
                        flex: 0 0 auto;
                        height: min(321px,50vw);
                        width: min(380px,70vw);
                    }
                    @media screen and (width >= 1200px) {
                        & {
                            column-gap: min(1rem,5vw);
                        }
                    }
                }
                @media screen and (width < 1200px) {
                    & {
                        width: 90vw;
                        padding-inline: 0;
                        margin-inline: auto;
                    }
                }
            }
        }
        & .sc9 {
            & .container-xl {
                padding-block: min(4rem,10vw);
                & .row {
                    & > .flex {
                        gap: min(2rem,5vw);
                        & .text {
                            flex: 1 1 max(300px,40%);
                        }
                    }
                    & .menus {
                        position: relative;
                        padding: min(5rem,5vw);
                        background-color: var(--cLwhite);
                        & ul.tabs {
                            display: flex;
                            flex-wrap: wrap;
                            margin-bottom: .4rem;
                            row-gap: min(.5rem,5vw);
                            justify-content: center;
                            text-transform: uppercase;
                            font-size: min(16px,3.7vw);
                            & li {
                                line-height: 1;
                                padding-inline: min(1rem,5vw);
                                & a {
                                    position: relative;
                                    opacity: .5;
                                    padding-bottom: .3rem;
                                    letter-spacing: 2.4px;
                                    &::before {
                                        position: absolute;
                                        inset: 0;
                                        content: '';
                                        transition: all .3s;
                                        border-bottom: 1px solid transparent;
                                    }
                                    &:hover {color: inherit;}
                                    &.active {
                                        opacity: 1;
                                        &::before {border-color: currentColor;}
                                    }
                                }
                                &:not(:last-child) {border-right: 1px solid var(--cLgold);}
                            }
                        }
                        & .listing {
                            display: flex;
                            gap: min(2rem,5vw) 0;
                            flex-wrap: wrap;
                            & .cat {
                                display: flex;
                                row-gap: min(1rem,5vw);
                                flex-direction: column;
                                flex: 1 1 max(350px,40%);
                                padding-bottom: min(3rem,10vw);
                                border-bottom: 1px solid hsl(358deg 48% 25% / 30%);
                                & h3 {
                                    margin-top: 0;
                                    font-size: min(42px,5vw);
                                }
                                & .cat-menu {
                                    display: flex;
                                    row-gap: 1rem;
                                    flex-direction: column;
                                    & .head {
                                        position: relative;
                                        display: flex;
                                        column-gap: 1rem;
                                        justify-content: space-between;
                                        margin-bottom: min(.5rem,2vw);
                                        & h5 {font-size: min(24px,5vw);}
                                        & .price {
                                            line-height: 1;
                                            color: var(--cLgold);
                                            font-size: min(24px,5vw);
                                            font-family: 'Belleza',sans-serif;
                                        }
                                    }
                                    & .flex {
                                        gap: min(2rem,5vw) 10%;
                                        justify-content: space-between;
                                        & .col {
                                            font-size: min(16px,4vw);
                                            flex: 1 1 max(200px,40%);
                                        }
                                    }
                                }
                                &:nth-child(2n + 1) {padding-right: min(3rem,10vw);}
                                &:nth-child(2n + 2) {padding-left: min(3rem,10vw);}
                                @media screen and (width < 800px) {
                                    & {
                                        padding-inline: 0 !important;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        & .sc10 {
            & .cliping {
                & img {filter: inherit;}
                &::after {
                    position: absolute;
                    inset: 0;
                    content: '';
                    opacity: .57;
                    mix-blend-mode: multiply;
                    background-color: var(--cLdarkBrown);
                }
            }
            & [class^="container"] {
                padding-block: min(5rem,10vw);
                & .row {
                    gap: min(2rem,7vw) 5%;
                    & .left {
                        flex: 1 1 max(300px,40%);
                    }
                    & .right {
                        flex: 1 1 max(300px,40%);
                    }
                }
                & [class^="text"] {
                    color: var(--cLcream);
                    justify-content: center;
                    min-height: min(300px,35vw);
                    & *:not(em) {
                        color: inherit;
                    }
                    & h1 {font-size: min(47px,5vw);}
                }
            }
        }
        & .sc11 {
            & .container-xxl {
                padding-block: min(5rem,10vw);
                & .row {
                    align-items: center;
                    gap: min(2rem,8vw) 5%;
                    & .left {
                        flex: 1 1 max(300px,40%);
                        height: min(475px,60vw);
                    }
                    & .right {
                        flex: 1 1 max(300px,40%);
                    }
                }
            } 
        }
        & .sc12 {
            & .container {
                padding-block: min(5rem,10vw);
            }   
        }
        & .sc14 {
            & .container {
                padding-block: min(5rem,10vw);
            }  
        }
        & .sc15 {
            & .container {
                padding-block: min(5rem,10vw);
                & .foot {
                    display: flex;
                    flex-wrap: wrap;
                    font-weight: 700;
                    gap: min(1rem,4vw);
                    align-items: center;
                    justify-content: center;
                    font-size: min(25px,5vw);
                    & .rs {
                        & [style^="--icn"] {
                            &::before {
                                padding: min(18px,7vw);
                            }
                        }
                    }
                    & .links {
                        display: flex;
                        gap: min(1rem,4vw);
                        align-items: center;
                        justify-content: center;
                        column-gap: min(10px,4vw);
                        padding-left: min(1rem,5vw);
                        border-left: 1px solid currentColor;
                    }
                }
            }  
        }
        & .sc16 {
            & .container-xxl {
                padding-block: min(3rem,10vw);
                & .flex {
                    gap: min(2rem,6vw) 5%;
                    & .text {
                        flex: 1 1 max(300px,30%);
                        & .info {
                            line-height: 1.4;
                            font-size: min(31px,5.6vw);
                            font-family: 'Belleza',sans-serif;
                        }
                    }
                }
            }  
        }
        & .sc17 {
            & .container-xxl {
                padding-block: min(3rem,10vw);
                & .listing {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 3rem 5%;
                    & .gift {
                        width: var(--wgift);
                        @media screen and (width >= 1200px) {
                            --wgift: 30%
                        }
                        @media screen and (width < 1200px) {
                            --wgift: 47.5%
                        }
                        @media screen and (width < 700px) {
                            --wgift: 100%
                        }
                    }
                }
            }  
        }
        & .sc18 {
            & .container-xxl {
                padding-block: min(3rem,10vw);
                & .row {
                    gap: min(2rem,6vw) 0%;
                    align-items: flex-start;
                    & .box {
                        position: relative;
                        display: flex;
                        column-gap: 1rem;
                        align-items: flex-end;
                        flex: 1 1 max(250px,20%);
                        font-size: min(14px,4vw);
                        padding-inline: min(1rem,5vw);
                        &:not(:last-child)::before {
                            position: absolute;
                            inset: 20% 0;
                            content: "";
                            display: block;
                            pointer-events: none;
                            border-right: 1px solid var(--cLbeigeStone);
                        }
                        & h6 {font-size: min(17px,5vw);}
                        & [style^="--icn"] {
                            &::before {
                                padding: min(1.7rem,8vw) min(2.2rem,10vw);
                            }
                        }
                        @media screen and (width >= 1200px) {
                            &:first-child {padding-left: 0;}
                            &:last-child {padding-right: 0;}
                        }
                    }
                }
            }  
        }
        & .sc19 {
           & .container-xl {
                padding-block: min(3rem,10vw);
           } 
        }
        & .sc20 {
            & .container-xxl {
                padding-block: min(3rem,10vw);
                & .row {
                    gap: min(2rem,6vw) 5%;
                    & .left {
                        display: flex;
                        flex-direction: column;
                        row-gap: min(2rem,7vw);
                        flex: 1 1 max(300px,20%);
                        & .nav {
                            position: relative;
                            display: flex;
                            gap: min(.7rem,4vw) 4%;
                            flex-direction: column;
                            & label {
                                position: relative;
                                display: flex;
                                column-gap: 10px;
                                align-items: center;
                                letter-spacing: 1.6px;
                                font-size: min(16px,4vw);
                                color: var(--cLdarkBrown);
                                text-transform: uppercase;
                                font-family: 'aktiv-grotesk',sans-serif;
                            }
                            @media screen and (width < 1200px) {
                                flex-wrap: wrap;
                                flex-direction: initial;
                            }
                            &:not(:last-of-type) {
                                padding-bottom: min(2rem,7vw);
                                border-bottom: 1px solid var(--cLbeigeStone);
                            }
                        }
                    }
                    & .right {
                        display: flex;
                        row-gap: 2rem;
                        flex-direction: column;
                        flex: 1 1 max(300px,70%);
                        & .listing {
                            position: relative;
                            display: flex;
                            flex-wrap: wrap;
                            gap: min(2rem,5vw) 3%;
                            & .product {
                                 width: var(--wgift);
                                @media screen and (width >= 1200px) {
                                    --wgift: 31.32%
                                }
                                @media screen and (width < 1200px) {
                                    --wgift: 48.45%
                                }
                                @media screen and (width < 700px) {
                                    --wgift: 100%
                                }
                            }
                        }
                    }
                }
            }
        }
        & footer {
            position: relative;
            display: flex;
            row-gap: min(2rem,5vw);
            flex-direction: column;
            padding-block: min(2rem,5vw);
            & .container-xxxl {
                position: relative;
                padding-block: min(3rem,10vw);
                border-block: 1px solid var(--cLdarkBrown);
                & .row {
                    gap: min(2rem,7vw) 5%;
                    padding-top: min(61px,10vw);
                    justify-content: space-between;
                    & .left {
                        & .logo {
                            display: flex;
                            height: min(61px,5vw);
                            align-items: flex-end;
                        }
                        @media screen and (width < 768px) {
                            & {width: 100%;}
                        }
                    }
                    & .nav {
                        position: relative;
                        display: flex;
                        row-gap: min(.8rem,5vw);
                        flex-direction: column;
                        & a:not([class]) {display: block;}
                    }
                }
            }
            & .container-xxl {
                font-size: min(14px,3.5vw);
                & .nav {
                    position: relative;
                    display: flex;
                    flex-wrap: wrap;
                    gap: min(2rem,3vw);
                }
            }
        }
    }
    @media screen and (width <1200px) {
        .desk {display: none !important;}
    }
    @media screen and (width >= 1200px) {
        .mob {display: none !important;}
    }
}




/* PLUS  */




.sc1 :is(h1,h2,h3,h4) {
    margin: 0 !important;
}

.sc1 .swiper {
    height: 640px !important;
}

picture.imgplusslider {
    height: 262px;
}

.cLdeepRed.vide {
    height: 48px;
}

.listing .col ul {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0px 10px;
    margin-left: 5px;
}

.listing .col ul ul {
    grid-template-columns: 1fr;
    gap: 0px 10px;
}


.menus .listing { display: none!important; }
.menus .listing.active { display: flex!important; }
.menucartetabs a.active { font-weight: bold; }

a.link.prev, a.link {
    gap: 5px;
}

.a2a_kit span {
    display: none;
}

.a2a_kit a {
    padding: 0 !important;
}

.boutonsend p {
    display: flex;
    gap: 5px;
    align-items: flex-start;
}

.boutonsend { }

.wpcf7-spinner { position:absolute!important; }

.full .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

.full .wpcf7-acceptance .wpcf7-list-item label span {
    font-size: 0.9em;
}

.full .wpcf7-acceptance .wpcf7-list-item label {
    display: flex;
    gap: 0 10px;
}

.col2-text.grid2 {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 30px 30px;
}


.iframe-wrapper {
    background-color: rgb(4 2 2 / 70%);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    position: fixed;
    width: 100%;
    height: 100vh;
    z-index: 999999999999999999999999;
    top: 0;
    left: 0;
}

.iframe-wrapper iframe {
    left: 50%;
    transform: translate(-50%, -50%)!important;
    max-width: 500px;
    top: 40% !important;
}


.product-actions form.cartPlusProd {
    position: relative;
    gap: 10px;
    z-index: 5;
    display: flex;
    align-items: center;
}

article.product h4 {
    font-size: 1.3em;
}


.aucun {
    height: 100%;
    width: 100%;
    text-align: center;
    background: #5f2123;
    padding: 20px;
    border-radius: 2rem;
    color: #fff;
}

li.labeloffres-speciales {
    border-top: 1px solid #5f2123;
    padding-top: 15px;
    margin-top: 10px;
}

a.btn-cart.create-plateau {
    width: 100%;
    display: flex;
    justify-content: center;
}



span.price del span bdi {
    font-style: min(28px,6vw);
    color: var(--cLbeigeStone);
    text-decoration: line-through;
    font-weight: 600;
}

span.price ins {
    text-decoration: none;
}

span.price ins span bdi {
font-weight: 700;
                            font-size: min(39px, 7vw);
                            color: var(--cLdarkRed);
}





/* FAQ */


main.SuiteTexte {

	margin-left: 0;
}

details.accordion {
    border-bottom: 1px solid #D6D6D6;
    padding-bottom: 0;
    padding-top: 0;
    text-align: left;
}

details.accordion summary.accordion__title {
    list-style-type: none;
    cursor: pointer;
    font-size: 1rem;
    padding: 10px 15px 10px 0px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 32 32' width='32' height='32'%3e%3crect x='14' y='6' width='2' height='18' fill='%23C39F6E'/%3e%3crect x='6' y='14' width='18' height='2' fill='%23C39F6E'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .75rem top .625rem;
    background-size: 1.5rem;
}

details.accordion[open] summary.accordion__title {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 32 32' width='32' height='32'%3e%3crect x='6' y='14' width='18' height='2' fill='%23C39F6E'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right .75rem top .625rem;
	background-size: 1.5rem;
	color: #cca434;
}

details.accordion .accordion__content {
    padding: 10px 10px 10px 0px;
}

details.accordion .accordion__content p {
    font-size: 0.95em;
}

.text .description {
    margin-bottom: 0 !important;
    padding-bottom: 15px !important;
}


.text .description p {
    font-size: 1.1em !important;
}

table.variations {
    width: 100%;
}

th.label {
    display: none;
}

td.value select {
    width: 100%;
    padding: 0;
}

a.reset_variations {
    display: none;
}

.woocommerce-variation-availability {
    display: none!important;
}

.woocommerce-variation.single_variation {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 30px 30px;
    padding: 15px;
    background: #f7f2ea;
    border-radius: 10px;
    margin-top: 20px;
    align-items: center;
    margin-bottom: 15px;
}

.woocommerce-variation.single_variation p {
    margin: initial !important;
    font-size: inherit;
}


.woocommerce-variation-price bdi {
    font-weight: 700;
    font-size: min(30px, 4vw);
    color: var(--cLdarkRed);
    line-height: 1em;
}

.single-product article.product.full .product-actions {
    margin-block: 10px;
}


.woocommerce span.onsale {
    top: 1.5em!important;
    right: 1.5em!important;
left:initial!important; 
    background-color: #cca434!important;
}



.woo-vou-fields-wrapper {
    display: inline-block;
    margin-top: 10px;
    width: 100%;
    position: relative;
    padding: 1rem 1rem;
    border-radius: 1rem;
    background-color: #cca434;
}

.woo-vou-recipient-delivery-method {
    border: 1px solid #f1f1f1 !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.12);
    margin-bottom: 0px !important;
    padding: 0px !important;
    width: 100%;
    background: #fff;
    border-radius: 10px;
}

table.woo-vou-recipient-delivery-method tbody tr.woo-vou-delivery-method-wrapper input {
    margin-right: 20px;
    vertical-align: middle;
}

.woo-vou-recipient-fields .woo-vou-recipient-delivery-method tr>td {
    padding: 10px 0px 10px 0px !important;
}

table.woo-vou-recipient-fields td.label {
    width: auto;
    padding: 0 !important;
    vertical-align: inherit;
}

.woo-vou-recipient-fields .woo-vou-recipient-delivery-method tr>td {
    padding: 10px 5px !important;
}



.woo-vou-recipient-delivery-method td.label { }

.woo-vou-recipient-delivery-method td.label label {
    font-size: 1em;
}

span.xoo-wsc-sc-bki.xoo-wsc-icon-bag1, span.xoo-wsc-sc-subt {
    display: none;
}

.xoo-wsc-sc-cont .xoo-wsc-cart-trigger > * {
    margin-right: 0!important;
}

span.xoo-wsc-sc-count, span.xoo-wsch-items-count {
    right: -30px !important;
    top: -20px !important;
    background-color: #5f2123;
}

.xoo-wsc-sc-cont {
    color: #000000;
    position: absolute;
}


div#customer_details .col-1,
div#customer_details .col-2 {
   position: relative;
   padding: 1.5rem 1rem;
   border-radius: 0;
   background-color: #fff;
   box-shadow: 0 1rem 3rem #00000029;
}


.wc_payment_methods li {
   background: #fff;
   padding: 10px;
   border-radius: 10px;
   margin-bottom: 15px !important;
}

.wc_payment_methods li label {
   font-size: 17px;
   font-weight: bold;
}

.wc_payment_methods li p {
   margin: 0;
}


section.woocommerce-order-details {
   margin: 0 !important;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
   background: #f4f4f4;
}

section.woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses.col2-set.addresses {
   margin-top: 0;
}

h3#order_review_heading {
    margin-top: 15px;
    margin-bottom: 10px;
}

div#dps-datetime-picker {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 30px 30px;
    margin-bottom: 25px;
    background: #cca434;
    border-radius: 5px;
    padding: 0 10px;
}

table.shop_table thead, table.woocommerce-table thead {
    background: #5f2123;
    color: #fff;
}


button#place_order, .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward {
    position: relative;
    z-index: 1;
    outline: 0;
    display: flex;
    line-height: 1;
    max-width: 100%;
    cursor: pointer;
    font-weight: 500;
    font-size: inherit;
    width: max-content;
    text-align: center;
    align-items: center;
    border-radius: 2rem;
    transition: all .3s;
    column-gap: min(10px, 4vw);
    text-transform: initial;
    border: .065rem solid transparent;
    font-family: 'aktiv-grotesk', sans-serif;
    padding: min(.8rem, 2.6vw) min(1.5rem, 6vw);
    border-color: var(--cLgold);
    background-color: var(--cLgold);
    color: #000;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: rgb(247 242 234)!important;
    border-radius: 5px;
}


#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    background-color: #e5e0d9!important;
}


#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before { 
border: 1em solid #e5e0d9!important;
border-right-color: transparent!important;
    border-left-color: transparent!important;
    border-top-color: transparent!important;
}





nav.woocommerce-MyAccount-navigation ul {
   list-style-type: none;
   padding-left: 0;
   max-width: 225px;
   font-size: 17px;
   line-height: 26px;
}

nav.woocommerce-MyAccount-navigation ul li {
   padding: 8px 20px;
   background-color: rgb(0 0 0);
   border-bottom: 1px solid #fff;
}

nav.woocommerce-MyAccount-navigation ul li.is-active {
   background-color: #5f2123;
}

nav.woocommerce-MyAccount-navigation ul li.is-active a {
   color: #ffffff;
   cursor: default;
   font-weight: bold;
}

nav.woocommerce-MyAccount-navigation ul li.is-active:after {
   content: "";
   height: 0;
   width: 0;
   border-top: 20px solid transparent;
   border-left: 14px solid #5f2123;
   border-bottom: 20px solid transparent;
   float: right;
   margin-right: -33px;
   margin-top: -7px;
}

nav.woocommerce-MyAccount-navigation ul li:not(.is-active):hover {
   background-color: #5f2123;
}

nav.woocommerce-MyAccount-navigation ul li:not(.is-active):hover:after {
   content: "";
   height: 0;
   width: 0;
   border-top: 20px solid transparent;
   border-left: 14px solid #5f2123;
   border-bottom: 20px solid transparent;
   float: right;
   margin-right: -33px;
   margin-top: -7px;
}

.woocommerce-MyAccount-navigation-link a {
   color: #fff;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
   box-sizing: border-box;
   width: 100%;
   margin: 0;
   outline: 0;
   height: 40px;
   line-height: normal;
   padding-left: 10px;
}

.woocommerce-Address {
   background: #ffffff;
   padding: 10px;
   font-size: 12px;
}

.woocommerce-account .addresses .title .edit {
   float: right;
   background: #5f2123;
   color: #fff;
   padding: 3px;
   text-transform: uppercase;
   font-size: 11px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
   float: left;
   width: 25% !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
   float: right;
   width: 70% !important;
   background: #f4f4f4;
   padding: 15px;
}

.woocommerce ul.order_details {
   margin: 0 0 3em;
   list-style: none;
   background: #fff;
   padding: 20px;
}

.woocommerce .woocommerce-customer-details :last-child,
.woocommerce .woocommerce-order-details :last-child,
.woocommerce .woocommerce-order-downloads :last-child {
   margin-bottom: 0;
   /* background: #fff; */
}


.woocommerce table.my_account_orders {
   font-size: 14px !important;
}

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


.order-again a.button {
   background: #5f2123 !important;
   color: #fff !important;
   text-transform: uppercase;
}


.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1 {
   float: left;
   width: 45% !important;
   flex: none;
   max-width: initial;
}


.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
   float: right;
   width: 48% !important;
   flex: none;
   max-width: none;
}


form.woocommerce-EditAccountForm.edit-account {
   background: #f4f4f4;
   padding: 15px;
}


form.woocommerce-EditAccountForm.edit-account fieldset {
   margin-top: 25px;
}

form.woocommerce-EditAccountForm.edit-account fieldset .form-row {
   display: grid;
}


form.woocommerce-EditAccountForm.edit-account button.woocommerce-Button.button,
.woocommerce-address-fields button.button {
   background: #5f2123 !important;
   color: #fff !important;
   text-transform: uppercase;
   margin-top: 10px !important;
}


.woocommerce-address-fields__field-wrapper p.form-row {
   display: grid;
}

.u-columns h2 {
    font-size: 1.7em;
    margin-bottom: 15px;
}



td.download-file a {
    font-size: 0.7em !important;
    color: var(--cLwhite) !important;
    border-color: var(--cLgold) !important;
    background-color: var(--cLgold) !important;
}






.woocommerce-error li, .woocommerce-info li, .woocommerce-message li {
    list-style: none outside !important;
    padding-left: 65px !important;
    margin-left: 0 !important;
}











@media screen and (width <800px) {

/* .iframe-wrapper iframe { */
        /* left: 0% !important; */
        /* transform: none !important; */
        /* max-width: 375px; */
        /* top: 0% !important; */
    /* } */


    /* .sliderhomesection .left .label { */
        /* z-index: 99; */
    /* } */
	
	/* .sliderhomesection .pagination { */
        /* display: none !important; */
    /* } */


    /* .sliderhomesection .right { */
        /* position: relative; */
        /* height: 100vh; */
        /* top: -200px; */
        /* padding: 0 30px; */
        /* color: #fff; */
    /* } */
	
	/* .sliderhomesection .right .text h1 { */
    /* color: #fff; */
    /* font-weight: bold; */
/* } */

/* section.sc1.bg-cLcream.sliderhomesection { */
    /* height: 790px; */
/* } */


/* picture.imgplusslider { */
    /* height: 140px; */
    /* flex: inherit !important; */
    /* width: 190px !important; */
    /* right: -100px !important; */
    /* bottom: -35px; */
/* } */
	
    /* .sliderhomesection .right .head { */
        /* font-weight: bold; */
        /* color: #fff !important; */
    /* } */

/* .sliderhomesection .right a.btn-brd-cLdarkBrown { */
    /* background: #fff; */
/* } */


/* .sliderhomesection .pagination { } */


.swiper.swiper-ios {
    height: 225px !important;
}


}





input.wpcf7-form-control.wpcf7-submit.has-spinner.btn-brd-cLgold.boutonsend {
    position: relative;
    z-index: 1;
    outline: 0;
    display: flex;
    line-height: 1;
    max-width: 100%;
    cursor: pointer;
    font-weight: 500;
    font-size: inherit;
    width: max-content;
    text-align: center;
    align-items: center;
    border-radius: 2rem;
    transition: all .3s;
    column-gap: min(10px, 4vw);
    text-transform: initial;
    border: .065rem solid transparent;
    font-family: 'aktiv-grotesk', sans-serif;
    padding: min(.8rem, 2.6vw) min(1.5rem, 6vw);
    color: var(--cLgold);
    background-color: transparent;
    border-color: var(--cLgold);
}
input.wpcf7-form-control.wpcf7-submit.has-spinner.btn-brd-cLgold.boutonsend:hover{
        color: #fff;
    background-color: #5f2123;
}

.cLgold b {
    font-weight: normal;
    color: #5f2123;
}


.woocommerce-product-gallery__image {
    max-height: 555px;
    overflow: hidden;
}

.woocommerce-product-gallery__image a {
    width: 100%;
    max-height: 555px;
    display: block;
}

.woocommerce-product-gallery__image a img {
    object-fit: cover;
    width: 100% !important;
    height: 565px;
    max-width: max-content;
    aspect-ratio: initial !important;
    margin: auto;
}

.nume560 .voirprix {
    display: none;
}