/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/*===================================.GLOBAL====================================*/


/*-------------------------------------ROOT--------------------------------------*/

:root {
    /* - COLOR */
    --white01: #fff;
    --carbon01: #222222;
    --yellow01: #FECC32;
    --garnet01: #821100;
    --garnet02: #680809;
    --red01: #F25457;
    --green01: #b6d73d;
    --grey01: #F7F7F7;
    --grey02: #E9ECEF;
    --grey03: #DEE2E6;
    --grey04: #CED4DA;
    --grey05: #A4AAAF;
    --grey06: #6C757D;
    /* - GAPS */
    --gap-responsive-x: 0px;
    --gap-sec-y: 120px;
    /* SEC SIZE */
    --sec-max-width: 1140px;
    /* - FONT FAMILY */
    --sans-serif01: "Poppins", sans-serif;
    --serif01: "Gentium Book Basic", serif;
    /* - TEXT SIZE */
    /* - TEXT SIZE - BODY */
    --body-s: 14px;
    --body-m: 16px;
    --body-l: 18px;
    --body-xl: 20px;
    /* - TEXT SIZE - TITLES */
    --title-xxs: 12px;
    --title-xs: 18px;
    --title-xm: 48px;
}


/*---------------------------------RESET DEFAULT---------------------------------*/


/* CSS3 */

a {
    color: var(--garnet02);
    text-decoration: none;
}

a:hover {
    color: var(--carbon01);
    text-decoration: underline;
}


/* WP */

p:last-child {
    margin-bottom: 0px;
}


/* - GENERATE PRESS */

p,
li,
th,
td,
div,
button {
    font-family: var(--sans-serif01);
}

.site-main {
    margin: 0px!important;
}

.inside-article {
    padding: 0px!important;
}

.required {
    color: var(--red01);
}


/* - ELEMENTOR */

.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 0px!important;
}


/*-----------------------------------BUTTONS-------------------------------------*/


/* - GLOBAL UX OPTIMIZATION */

.btn {
    position: relative;
}

.btn::before {
    padding: 1.25em;
    content: "";
    position: absolute;
    top: -.625em;
    left: -.625em;
}


/* - BTN PRIMARY */

.btn-primary {
    width: fit-content;
    display: block;
    padding: 16px 40px;
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    color: var(--grey01);
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    background: var(--garnet02);
    border-radius: 100px;
    transition: all .33s ease-in-out;
}

.btn-primary:hover {
    color: var(--grey01);
    text-decoration: none;
}

.btn-primary:focus {
    color: var(--grey01);
}

.btn-primary.inverted {
    color: var(--carbon01);
    background: var(--yellow01);
}

.btn-primary.inverted:hover {
    color: var(--carbon01);
    text-decoration: none;
}

.btn-primary.inverted:focus {
    color: var(--carbon01);
}


/*-----------------------------------PRESETS-------------------------------------*/


/* - SECTION */

.sec-bsc-wr,
body:not(.elementor-page) .site-content .site-main .inside-article {
    padding-right: var(--gap-responsive-x)!important;
    padding-left: var(--gap-responsive-x)!important;
}


/* - TITLES */

.title-xxs {
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    color: var(--carbon01);
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.title-xs {
    font-family: var(--sans-serif01);
    font-size: var(--title-xs);
    color: var(--carbon01);
    font-weight: 500;
}

.title-xm {
    margin-bottom: 16px;
    font-family: var(--serif01);
    font-size: var(--title-xm);
    color: var(--carbon01);
    font-weight: bold;
    line-height: 1.3em;
}


/* - TEXT BODY */

.body-s {
    font-family: var(--sans-serif01);
    font-size: 14px;
    color: var(--grey06);
    font-weight: 400;
}


/* - LIST */

ul.s02 {
    display: grid;
    grid-gap: 48px;
    margin: 0px;
    padding: 0px;
    list-style: none;
}

ul.s02 li .list-item-title {
    display: inline-block;
    margin-bottom: 8px;
}

ul.s02 li .list-item-title>* {
    margin-bottom: 0px;
}


/*=================================.GLOBAL - TABLET==============================*/

@media ( min-width:481px) and ( max-width:1024px) {
    /*-------------------------------------------------------------------------------*/
    /*-------------------------------------ROOT--------------------------------------*/
    /*-------------------------------------------------------------------------------*/
     :root {
        /* - GAPS */
        --gap-responsive-x: 20px;
        --gap-sec-y: 80px;
    }
}


/*=================================.GLOBAL - MOBILE==============================*/

@media ( max-width:480px) {
    /*-------------------------------------------------------------------------------*/
    /*-------------------------------------ROOT--------------------------------------*/
    /*-------------------------------------------------------------------------------*/
     :root {
        /* - GAPS */
        --gap-responsive-x: 15px;
        --gap-sec-y: 64px;
        /* - TEXT SIZE - TITLES */
        --title-xxs: 12px;
        --title-xs: 18px;
        --title-xm: 40px;
    }
    /*-------------------------------------------------------------------------------*/
    /*-----------------------------------PRESETS-------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - TITLES */
    .title-xm {
        line-height: 1.3em!important;
    }
    /* - LIST */
    ul.s02 {
        grid-gap: 32px;
    }
}


/*==================================.TEMPLATES===================================*/


/*---------------------------------BASIC SECTIONS--------------------------------*/


/* 2COL S01 */

.sec-bsc-2col-wr.s01 {
    width: 100%;
    padding: var(--gap-sec-y) 0px;
}

.sec-bsc-2col-wr.s01 .sec-bsc-2col {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.sec-bsc-2col-wr.s01 .sec-bsc-2col .col01 {
    width: 50%;
}

.sec-bsc-2col-wr.s01 .sec-bsc-2col .col01 .btn-primary {
    margin-top: 56px;
    margin-left: auto;
}

.sec-bsc-2col-wr.s01 .sec-bsc-2col .col02 {
    width: 40%;
}


/* 2COL S02 */

.sec-bsc-2col-wr.s02 {
    display: flex;
    justify-content: center;
}

.sec-bsc-2col-wr.s02 .sec-bsc-2col {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
}

.sec-bsc-2col-wr.s02 .sec-bsc-2col .col01 {
    width: 60%;
}

.sec-bsc-2col-wr.s02 .sec-bsc-2col .col02 {
    width: 30%;
}

.sec-bsc-2col-wr.s02 .sec-bsc-2col .col02 img {
    border-radius: 8px;
}


/*-------------------------------------COVERS------------------------------------*/


/* - COVER S01 */

.cover-wr.s01 {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    position: relative;
    background: url('https://monpizza.es/wp-content/uploads/2023/09/image-2.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.cover-wr.s01 .cover-gradient-radial {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    background: radial-gradient(77.09% 77.09% at 50% 50%, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.6) 46.88%, #000000 99.99%);
    opacity: 0.8;
}

.cover-wr.s01 .cover {
    width: 100%;
    height: 100%;
    max-width: var(--sec-max-width);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px var(--gap-responsive-x) 0px var(--gap-responsive-x);
    z-index: 2;
}

.cover-wr.s01 .cover .col01 {
    display: flex;
    flex-flow: column;
    align-items: center;
}

.cover-wr.s01 .cover .col01 .icon-ingredient {
    transform: translateY(-80%);
}

.cover-wr.s01 .cover .col01 .text01 {
    width: 100%;
    font-family: var(--sans-serif01);
    font-size: 28px;
    font-weight: 400;
    color: var(--grey01);
    text-align: center;
}


/*------------------------------------TIMELINES----------------------------------*/

.how-to-wr {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: var(--gap-sec-y) 0px;
    background: var(--grey01);
}

.how-to-wr .how-to {
    width: 100%;
    max-width: var(--sec-max-width);
    display: flex;
    flex-flow: column;
}

.how-to-wr .how-to .row {
    width: 100%;
}

.how-to-wr .how-to .row01>* {
    text-align: center;
}

.how-to-wr .how-to .process {
    display: flex;
    justify-content: space-between;
    margin: 56px 0px 0px 0px;
    padding: 0px;
    position: relative;
    list-style: none;
}

.how-to-wr .how-to .process .process-line {
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed var(--grey05);
    position: absolute;
    top: calc( 180px / 2);
    z-index: 1;
}

.how-to-wr .how-to .process .process-item {
    width: 180px;
    display: flex;
    flex-flow: column;
    align-items: center;
    position: relative;
    z-index: 2;
    background: var(--grey01);
}

.how-to-wr .how-to .process .process-item .process-item-img {
    width: 180px;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.how-to-wr .how-to .process .process-item .process-item-description {
    text-align: center;
}


/*--------------------------------------GRIDS------------------------------------*/


/* - PRODUCT CARD */

.grid-pd-card-elementor-widget .elementor-widget-image .elementor-widget-container {
    aspect-ratio: 1 / 1;
    padding: 8px;
    border: 1px solid var(--grey02);
    border-radius: 8px;
}

.grid-pd-card-elementor-widget .elementor-widget-image .elementor-widget-container img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.grid-pd-card-elementor-widget .elementor-widget-woocommerce-product-title {
    margin-top: 8px;
}

.grid-pd-card-elementor-widget .elementor-widget-container .woocommerce-Price-amount {
    font-family: var(--sans-serif01);
    font-size: 14px;
    font-weight: 500;
    color: var(--grey06);
}


/* - ARTICLE CARD */

.grid-article-card-elementor-widget .elementor-widget-theme-post-featured-image {
    aspect-ratio: 1 / .66;
}

.grid-article-card-elementor-widget .elementor-widget-theme-post-featured-image img {
    aspect-ratio: 1 / .66;
    object-fit: cover;
    border-radius: 8px;
}

.grid-article-card-elementor-widget .elementor-widget-theme-post-title .elementor-heading-title {
    margin-top: 8px;
    font-family: var(--sans-serif01);
    font-size: var(--title-xs);
    color: var(--carbon01);
    font-weight: 500;
    line-height: 1.5em;
}

.grid-article-card-elementor-widget .elementor-widget-theme-post-excerpt .elementor-widget-container {
    margin-top: 8px;
    font-family: var(--sans-serif01);
    font-size: var(--body-s);
    color: var(--grey06);
    font-weight: 400;
}


/*------------------------------------BANNERS------------------------------------*/


/* - BANNER S01 */

.banner-wr.s01 {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: var(--gap-sec-y) 0px;
    background: url('https://monpizza.es/wp-content/uploads/2023/09/Mask-group.jpg');
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
}

.banner-wr.s01 .banner-gradient01 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.65) 35.12%, rgba(0, 0, 0, 0) 100%);
    transition: all .33s ease-in-out;
}

.banner-wr .banner {
    width: 100%;
    max-width: var(--sec-max-width);
    padding: 0px var(--gap-responsive-x);
    position: relative;
    z-index: 2;
}

.banner-wr .banner .col01 {
    width: 60%;
}

.banner-wr .banner .col01 .banner-col-title {
    color: var(--grey01);
}

.banner-wr .banner .col01 .banner-col-description {
    color: var(--grey03);
}

.banner-wr .banner .col01 .btn-primary {
    margin: 56px 0px 0px auto;
}


/*-------------------------------------FORMS-------------------------------------*/


/* - FORMS STYLE01 */

.form-elementor-widget.s01 .elementor-form-fields-wrapper {
    display: flex;
    flex-flow: row wrap;
    grid-gap: 32px;
}

.form-elementor-widget.s01 .elementor-field-group {
    width: calc( 50% - 16px);
    padding: 0px!important;
    /* rr def */
    margin: 0px!important;
    /* rr def */
}

.form-elementor-widget.s01 .elementor-field-group.elementor-field-type-textarea {
    width: 100%;
}

.form-elementor-widget.s01 .elementor-field-group input,
.form-elementor-widget.s01 .elementor-field-group textarea {
    padding: 16px 16px;
    font-family: var(--sans-serif01);
    font-size: var(--body-s);
    border-color: var(--grey04);
    border-radius: 4px;
}

.form-elementor-widget.s01 .elementor-field-group input::placeholder,
.form-elementor-widget.s01 .elementor-field-group input:focus::placeholder .form-elementor-widget.s01 .elementor-field-group textarea::placeholder,
.form-elementor-widget.s01 .elementor-field-group textarea:focus::placeholder {
    color: var(--grey06)!important;
    /* rr def */
    font-weight: 400;
}

.form-elementor-widget.s01 .elementor-field-group input:focus,
.form-elementor-widget.s01 .elementor-field-group textarea:focus {
    color: var(--carbon01);
    font-weight: 500;
    outline: 0px;
    box-shadow: none;
}

.form-elementor-widget.s01 .elementor-field-group.elementor-field-type-acceptance label {
    font-family: var(--sans-serif01);
    font-size: var(--body-s);
    font-weight: 400;
}

.form-elementor-widget.s01 button[type="submit"] {
    width: fit-content;
    display: block;
    flex-basis: 0%!important;
    /* rr def */
    padding: 16px 40px;
    margin-left: auto;
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    color: var(--grey01)!important;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: .1em;
    text-transform: uppercase;
    background: var(--garnet02);
    border-radius: 100px;
    transition: all .33s ease-in-out;
}

.form-elementor-widget.s01 button[type="submit"] .elementor-button-icon {
    display: none!important;
}


/*-----------------------------------DISCLAIMERS---------------------------------*/


/* - STYLE BASIC */

.disclaimer-wrap.style-basic {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0px var(--gap-responsive-x) var(--gap-sec-y) var(--gap-responsive-x);
}

.disclaimer-wrap.style-basic .disclaimer {
    border-top: 1px solid var(--grey03);
    padding-top: 40px;
}


/*================================.TEMPLATES - TABLET============================*/

@media ( min-width:481px) and ( max-width:1024px) {
    /*-------------------------------------------------------------------------------*/
    /*------------------------------------BANNERS------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - BANNER S01 */
    .banner-wr.s01 .banner .col01 {
        width: 100%;
    }
    .banner-wr.s01 .banner-gradient01 {
        background: linear-gradient(90deg, rgba(0, 0, 0, 80%) 33.00%, rgba(0, 0, 0, 33%) 100%);
    }
}


/*================================.TEMPLATES - MOBILE============================*/

@media ( max-width:480px) {
    /*-------------------------------------------------------------------------------*/
    /*---------------------------------BASIC SECTIONS--------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - 2COL S01*/
    .sec-bsc-2col-wr.s01 .sec-bsc-2col {
        flex-flow: column;
        grid-gap: 48px;
    }
    .sec-bsc-2col-wr.s01 .sec-bsc-2col .col {
        width: 100%;
    }
    .sec-bsc-2col-wr.s01 .sec-bsc-2col .col01 .btn-primary {
        margin-left: unset;
    }
    /* 2COL S02 */
    .sec-bsc-2col-wr.s02 .sec-bsc-2col {
        grid-gap: 48px;
    }
    .sec-bsc-2col-wr.s02 .sec-bsc-2col .col01 {
        width: 100%;
    }
    .sec-bsc-2col-wr.s02 .sec-bsc-2col .col02 {
        width: 100%;
    }
    /*-------------------------------------------------------------------------------*/
    /*-------------------------------------COVERS------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - COVER S01 */
    .cover-wr.s01 .cover .col01 .icon-ingredient {
        transform: translateY(-60%);
    }
    .cover-wr.s01 .cover .col01 .text01 {
        width: 80%;
        font-size: 20px;
    }
    .cover-wr.s01 .cover .col01 .icon-ingredient {
        width: 32px;
        transform: translateY(-80%);
    }
    /*-------------------------------------------------------------------------------*/
    /*------------------------------------TIMELINES----------------------------------*/
    /*-------------------------------------------------------------------------------*/
    .how-to-wr .how-to .row01>* {
        text-align: center;
    }
    .how-to-wr .how-to .process {
        flex-flow: column;
        justify-content: unset;
        align-items: center;
        grid-gap: 32px;
        margin: 40px 0px 0px 0px;
    }
    .how-to-wr .how-to .process .process-item {
        width: 100%;
    }
    .how-to-wr .how-to .process .process-item p:last-child {
        padding-bottom: 32px;
    }
    .how-to-wr .how-to .process .process-line {
        width: 1px;
        height: 100vh;
        position: absolute;
        top: 0px;
        left: 50%;
        border-bottom: unset;
        border-left: 1px dashed var(--grey05);
    }
    /*-------------------------------------------------------------------------------*/
    /*------------------------------------BANNERS------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - BANNER S01 */
    .banner-wr.s01 {
        background-size: cover;
    }
    .banner-wr.s01 .banner .col01 {
        width: 100%;
    }
    .banner-wr.s01 .banner-gradient01 {
        background: rgba( 0, 0, 0, 0.55)
    }
    /*-------------------------------------------------------------------------------*/
    /*--------------------------------------FORMS------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - FORMS STYLE01 */
    .form-elementor-widget.s01 .elementor-form-fields-wrapper {
        grid-gap: 32px;
    }
    .form-elementor-widget.s01 .elementor-field-group {
        width: calc( 100%);
    }
}


/*====================================.HEADER====================================*/


/* - WRAP */

div[data-elementor-type="header"]>section {
    height: 0px!important;
}

.header-wr {
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: center;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 999;
    background: var(--white01);
    transition: all .33s ease-in-out;
}

.header-wr.s01 {
    background: transparent;
}

.header {
    width: 100%;
    max-width: var(--sec-max-width);
    height: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    padding-right: var(--gap-responsive-x);
    padding-left: var(--gap-responsive-x);
}


/* - COL01 */

.header-wr .col01 .imagotype {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

.header-wr .col01 .isotype {
    margin-right: 8px;
}

.header-wr.s01 .col01>a>img {
    filter: none;
    transition: all .1s ease-in-out;
}

.header-wr.s01 .col01 .logotype-part01 {
    filter: invert(94%) sepia(77%) saturate(1271%) hue-rotate(323deg) brightness(97%) contrast(107%);
}

.header-wr .col01 .logotype-part02 {
    position: relative;
    top: -1px;
}

.header-wr.s01 .col01 .logotype-part02 {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}


/* - COL02 */

.header-wr .col02 {
    display: flex;
    align-items: center;
}

.header-wr .col02 .nav-wr {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    z-index: 99;
}

.header-wr .col02 .btn-burger-menu {
    display: none;
    filter: none;
    transition: all .1s ease-in-out;
}

.header-wr.s01 .col02 .btn-burger-menu {
    filter: invert(94%) sepia(77%) saturate(1271%) hue-rotate(323deg) brightness(97%) contrast(107%);
}

.header-wr.s01 .col02 .btn-burger-menu {
    filter: invert(94%) sepia(77%) saturate(1271%) hue-rotate(323deg) brightness(97%) contrast(107%);
}

.header-wr .col02 .nav-wr .btn-close {
    display: none;
}

.header-wr .col02 ul#menu-nav-header {
    display: flex;
    flex-flow: row wrap;
    margin: 0px;
    list-style: none;
}

.header-wr .col02 ul#menu-nav-header li a {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    font-family: var(--sans-serif01);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--carbon01);
    letter-spacing: .1em;
}

.header-wr .col02 ul#menu-nav-header li a:hover {
    color: var(--garnet02);
}

.header-wr.s01 .col02 ul#menu-nav-header li a {
    color: var(--white01);
}

.header-wr .col02 ul#menu-nav-header li:has(.sub-menu)>a::after {
    content: "▼ ";
    display: inline-block;
    margin-left: 16px;
    font-size: 8px;
    color: var(--grey05);
}

.header-wr.s01 .col02 ul#menu-nav-header li:has(.sub-menu)>a::after {
    color: var(--white01);
}

.header-wr .col02 ul#menu-nav-header li.current-menu-item>a {
    font-weight: 600;
    color: var(--garnet02);
}

.header-wr.s01 .col02 ul#menu-nav-header li.current-menu-item>a {
    font-weight: 600;
    color: var(--white01);
}

.header-wr .col02 ul.menu li>.sub-menu,
.header-wr .col02 ul.menu li>.sub-menu[aria-expanded="false"] {
    display: none;
    padding: 16px;
    margin: 0px;
    list-style: none;
    transition: all .33s ease-in-out;
}

.header-wr .col02 ul.menu li>.sub-menu[aria-expanded="true"] {
    display: block;
    position: absolute;
    background-color: var(--white01);
}

.header-wr.s01 .col02 ul.menu li>.sub-menu[aria-expanded="true"] {
    background: transparent;
    padding: 0px;
}

.header-wr .col02 ul.nav-shop {
    display: flex;
    flex-flow: row wrap;
    grid-gap: 40px;
    margin: 0px 0px 0px 20px;
    list-style: none;
}

.header-wr .col02 ul.nav-shop>li>a {
    position: relative;
}

.header-wr .col02 ul.nav-shop>li>a>i {
    position: relative;
    color: var(--garnet02);
}

.header-wr.s01 .col02 ul.nav-shop>li>a>i {
    color: var(--yellow01);
}

.header-wr .col02 ul.nav-shop>li>a::before {
    padding: 1.25em;
    content: "";
    position: absolute;
    top: -.625em;
    left: -.625em;
}


/*==================================.HEADER - MOBILE=============================*/

@media ( max-width:480px) {
    /* - GLOBAL */
    body:not(.home) div[data-elementor-type="wp-page"]>section:first-child,
    body:not(.home) div[data-elementor-type="single-post"]>section:first-child,
    body:not(.elementor-page) .site-content .site-main .inside-article,
    div[data-elementor-type="product-archive"]>section:first-child,
    .single-product .site-content,
    div[data-elementor-type="single-page"]>section:first-child {
        /* padding-top: 120px!important; */
        /* to compensate fixed header height*/
        /* header 80px + gap 56px */
    }
    /* - COL02 */
    .header-wr .col02 .btn-burger-menu {
        display: flex;
    }
    .header-wr .col02 .nav-wr {
        width: 80%;
        height: 100vh;
        display: flex;
        flex-flow: column;
        align-items: unset;
        grid-gap: 40px;
        padding: 40px;
        position: fixed;
        top: 0px;
        right: 0px;
        background: var(--grey01);
        transform: translateX( 0%);
        transition: all .33s ease-in-out;
    }
    .header-wr .col02 .nav-wr[aria-expanded="false"] {
        transform: translateX( 100%);
    }
    .header-wr .col02 .nav-wr[aria-expanded="false"] .btn-close {
        display: none;
    }
    .header-wr .col02 .nav-wr .btn-close {
        display: inline-block;
    }
    .header-wr .col02 .nav-wr ul#menu-nav-header {
        flex-flow: column;
    }
    .header-wr .col02 .nav-wr ul#menu-nav-header>li>a {
        display: block;
        padding: 8px 20px 8px 0px;
    }
    .header-wr.s01 .col02 .nav-wr ul#menu-nav-header>li>a {
        color: var(--carbon01);
    }
    .header-wr .col02 ul.menu li>.sub-menu,
    .header-wr .col02 ul.menu li>.sub-menu[aria-expanded="false"] {
        display: block;
        padding: 0px 0px 0px 0px;
        border-left: 1px solid var(--grey03)
    }
    .header-wr .col02 ul.menu li>.sub-menu[aria-expanded="true"] {
        display: block;
        position: relative;
        background-color: transparent;
    }
    .header-wr.s01 .col02 ul#menu-nav-header li a {
        color: var(--carbon01);
    }
    .header-wr .col02 ul.nav-shop {
        order: -1;
        grid-gap: 24px;
        padding-right: 24px;
        margin-left: 0px;
    }
    .header-wr .col02 ul.nav-shop>li>a>i {
        color: var(--garnet02);
    }
    .header-wr.s01 .col02 ul.nav-shop>li>a>i {
        color: var(--white01);
    }
}


/*====================================.FOOTER====================================*/


/* - FOOTER */

.footer-wr {
    width: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    background: var(--grey01);
}

.footer-wr .footer {
    width: 100%;
    max-width: 1140px;
    display: grid;
    grid-template-columns: repeat( 4, 1fr);
    grid-gap: 32px;
    padding: 80px 0px 56px 0px;
}

.footer-wr .footer .footer-col .footer-col-title {
    margin-bottom: 16px;
}

.footer-wr .footer .footer-col .footer-col-list {
    display: grid;
    grid-gap: 8px;
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.footer-wr .footer .footer-col .footer-col-list li {
    display: flex;
    line-height: 21px;
    font-family: var(--sans-serif01);
    font-size: var(--body-s);
    color: var(--grey06);
    font-weight: 400;
}

.footer-wr .footer .footer-col .footer-col-list li a {
    display: flex;
    font-family: var(--sans-serif01);
    font-size: var(--body-s);
    color: var(--grey06);
    font-weight: 400;
}

.footer-wr .footer .footer-col .footer-col-list li a:hover {
    color: var(--carbon01);
}

.footer-wr .footer .footer-col .footer-col-list li i {
    margin-right: 8px;
    position: relative;
    top: 3px;
    color: var(--grey04);
    transition: all .33s ease-in-out;
}

.footer-wr .footer .footer-col .footer-col-list li a:hover i {
    color: var(--grey06);
}


/* - FOOTER KIT */

.footer-kit {
    max-width: 1140px;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    column-gap: 24px;
    row-gap: 24px;
    padding-bottom: 40px;
}

.footer-kit p {
    width: 100%;
    text-align: center;
}


/* - AFTER FOOTER */

.after-footer-wr {
    width: 100%;
    display: flex;
    justify-content: center;
    background: var(--grey02);
}

.after-footer-wr .after-footer {
    width: 100%;
    max-width: var(--sec-max-width);
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0px;
}


/* - AFTER FOOTER - COL01 */

.after-footer-wr .after-footer .col01 {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

.after-footer-wr .after-footer .col .after-footer-col-title {
    margin: 0px 16px 0px 0px;
}

.after-footer-wr .after-footer .col01 ul {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    grid-gap: 16px;
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.after-footer-wr .after-footer .col01 ul li {
    line-height: 1;
}

.after-footer-wr .after-footer .col01 ul li img {
    max-height: 20px;
    filter: grayscale(100%);
    opacity: .8;
    transition: all .33s ease-in-out;
}

.after-footer-wr .after-footer .col01 ul li:hover img {
    filter: grayscale(20%);
    opacity: 1;
}

.after-footer-wr .after-footer .col01 ul li.more-methods {
    width: 15px;
    height: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.after-footer-wr .after-footer .col01 ul li.more-methods .line {
    width: 2px;
    height: 15px;
    position: absolute;
    background: var(--grey05);
    border-radius: 100px;
}

.after-footer-wr .after-footer .col01 ul li.more-methods .line02 {
    transform: rotate(90deg);
}


/* - AFTER FOOTER - COL02 */

.after-footer-wr .after-footer .col02 {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    grid-gap: 24px;
}

.after-footer-wr .after-footer .col02 ul.social-media {
    display: flex;
    flex-flow: row wrap;
    grid-gap: 16px;
    margin: 0px;
    list-style: none;
}

.after-footer-wr .after-footer .col02 ul.social-media>li>a>i {
    color: var(--grey05);
    transition: color .33s ease-in-out;
}

.after-footer-wr .after-footer .col02 ul.social-media>li>a:hover>i {
    color: var(--garnet02);
}


/*==================================.FOOTER - MOBILE=============================*/

@media ( max-width:480px) {
    /* - FOOTER */
    .footer-wr .footer {
        grid-template-columns: 1fr;
        grid-gap: 40px;
        padding: 64px 0px 40px 0px;
    }
    /* - FOOTER KIT */
    .footer-wr .footer-kit img {
        max-width: 45%;
    }
    /* - AFTER FOOTER */
    .after-footer-wr .after-footer {
        width: 100%;
        max-width: var(--sec-max-width);
        display: flex;
        flex-flow: column wrap;
        justify-content: unset;
        align-items: center;
        grid-gap: 24px;
        padding: 32px 0px;
    }
    .after-footer-wr .after-footer .col01 {
        display: flex;
        flex-flow: column wrap;
        align-items: center;
    }
    .after-footer-wr .after-footer .col01 .after-footer-col-title {
        margin: 0px 0px 16px 0px;
    }
    .after-footer-wr .after-footer .col01 ul {
        justify-content: center;
    }
    .after-footer-wr .after-footer .col02 {
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 24px 0px 0px 0px;
        border-top: 1px solid var(--grey04);
    }
}


/*=====================================.BLOG=====================================*/


/*------------------------------------ARCHIVE------------------------------------*/


/* - PAGINATION */

.grid-articles-elementor-section .elementor-pagination {
    display: flex;
    flex-flow: row;
    justify-content: center;
    grid-gap: 16px;
    margin: 56px 0px 0px 0px;
}

.grid-articles-elementor-section .elementor-pagination .page-numbers {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px;
    margin: 0px;
    margin-right: 0px!important;
    /* rr def */
    margin-left: 0px!important;
    /* rr def */
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    font-weight: 500;
    color: var(--grey06);
    letter-spacing: .1em;
    text-align: center;
    border: 1px solid var(--grey04);
    border-radius: 100%;
    transition: all .33s ease-in-out;
}

.grid-articles-elementor-section .elementor-pagination .page-numbers.current,
.grid-articles-elementor-section .elementor-pagination .page-numbers:hover {
    border-color: var(--garnet02);
    color: var(--garnet02);
}


/*----------------------------------SINGLE POST----------------------------------*/

.single-post-article-elementor-sec h2 {
    margin-top: 32px;
    font-family: var(--serif01);
    font-size: var(--title-xm);
    color: var(--carbon01);
    font-weight: bold;
    line-height: 1.3em!important;
}

.single-post-article-elementor-sec h3 {
    font-family: var(--serif01);
    font-size: 30px;
    color: var(--carbon01);
    font-weight: bold;
    line-height: 1.3em;
}

.single-post-article-elementor-sec h4,
.single-post-article-elementor-sec h5,
.single-post-article-elementor-sec h6 {
    font-family: var(--serif01);
    font-weight: bold;
    color: var(--carbon01);
}

.single-post-article-elementor-sec b,
.single-post-article-elementor-sec strong {
    font-weight: 500;
}

.single-post-article-elementor-sec a {
    font-weight: 400;
}

.single-post-article-elementor-sec figure img {
    margin-bottom: 32px;
}


/*=================================.WOOCOMMERCE==================================*/


/*-------------------------------------GLOBAL------------------------------------*/


/* - WRAP */

body.woocommerce-page .woocommerce {
    padding-bottom: var(--gap-sec-y);
}

body.woocommerce-page .grid-container {
    width: 100%;
    display: flex;
    justify-content: center;
}

body.woocommerce-page .grid-container>.site-content {
    width: 100%;
    max-width: 1440px;
    padding: 0px var(--gap-responsive-x);
}


/* - NOTICES */

.woocommerce-notices-wrapper>div,
.woocommerce-notices-wrapper>ul,
.woocommerce-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 3.5px 3.5px 8px 8px;
}

.woocommerce-notices-wrapper>div a,
.woocommerce-info a {
    order: 3!important;
    font-family: var(--sans-serif01)!important;
    font-size: var(--title-xxs)!important;
    color: var(--carbon01)!important;
    text-transform: uppercase!important;
    font-weight: 500!important;
    letter-spacing: .1em!important;
    background: none!important;
}

.woocommerce-notices-wrapper>div a:hover,
.woocommerce-info a:hover {
    background: transparent!important;
    text-decoration: none!important;
}


/* - NOTICES -STANDART */

.woocommerce-notices-wrapper>div {
    font-family: var(--sans-serif01);
    font-size: var(--body-s);
    color: var(--grey06);
    border-top: 3px solid var(--green01);
}

.woocommerce-notices-wrapper>div::before {
    color: var(--green01);
}


/* - NOTICES - INFO */

.woocommerce-info {
    border-top: 3px solid var(--grey06);
}

.woocommerce-info::before {
    color: var(--grey06);
}


/* - NOTICES - ERROR */

.woocommerce-error {
    border-top: 3px solid var(--red01);
    border-radius: 3.5px 3.5px 8px 8px;
}

ul.woocommerce-error[role="alert"]::before {
    color: var(--red01);
}


/*-------------------------------------SHOP--------------------------------------*/


/* - WRAP */

.shop-elementor-section .elementor-container {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
}


/* - SIDEBAR */

.shop-elementor-section .shop-sidebar-elementor-col {
    width: 20%!important;
}

.shop-elementor-section .woocommerce {
    padding-bottom: 0px!important;
}

.shop-elementor-section .shop-sidebar-elementor-col ul.products {
    display: grid!important;
    grid-gap: 0px!important;
}

.shop-elementor-section .shop-sidebar-elementor-col ul.products li.product-category>a>img {
    display: none;
}

.shop-elementor-section .shop-sidebar-elementor-col ul.products li.product-category>a>.woocommerce-loop-category__title {
    font-family: var(--sans-serif01);
    font-size: var(--body-s);
    color: var(--grey06);
    font-weight: 400;
    transition: all .33s ease-in-out;
}

.shop-elementor-section .shop-sidebar-elementor-col ul.products li.product-category>a:hover>.woocommerce-loop-category__title {
    color: var(--garnet02);
}

.shop-elementor-section .shop-sidebar-elementor-col ul.products li.product-category>a>.woocommerce-loop-category__title>mark.count {
    display: none!important;
}

.shop-elementor-section .e-loop-item.product>div {
    height: 100%;
}


/* - SHOP GRID */

.shop-elementor-section .shop-grid-elementor-col {
    width: calc( 80% - 32px)!important;
}

.shop-elementor-section .elementor-pagination {
    display: flex;
    flex-flow: row;
    justify-content: center;
    grid-gap: 16px;
    margin: 56px 0px 0px 0px;
}

.shop-elementor-section .elementor-pagination .page-numbers {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px;
    margin: 0px;
    margin-right: 0px!important;
    /* rr def */
    margin-left: 0px!important;
    /* rr def */
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    font-weight: 500;
    color: var(--grey06);
    letter-spacing: .1em;
    text-align: center;
    border: 1px solid var(--grey04);
    border-radius: 100%;
    transition: all .33s ease-in-out;
}

.shop-elementor-section .elementor-pagination .page-numbers.current,
.shop-elementor-section .elementor-pagination .page-numbers:hover {
    border-color: var(--garnet02);
    color: var(--garnet02);
}


/* CONTENT SEO CONTAINER */

.content-seo-elementor-section .elementor-shortcode:has(*) {
    padding-bottom: var(--gap-sec-y);
}

.content-seo-elementor-section h1,
.content-seo-elementor-section h2,
.content-seo-elementor-section h3,
.content-seo-elementor-section h4,
.content-seo-elementor-section h5,
.content-seo-elementor-section h6 {
    font-family: var(--serif01);
    color: var(--carbon01);
    font-weight: 700;
}

.content-seo-elementor-section p {
    font-family: var(--sans-serif01);
    color: var(--grey06);
}


/*---------------------------------SINGLE PRODUCT--------------------------------*/


/* - CARD - WRAP */

.single-product-card-elementor-section .elementor-container {
    justify-content: space-between;
}


/* - CARD - COL01 */

.single-product-card-elementor-section .elementor-container .col01 {
    width: 45%;
}


/* - CARD - COL02 */

.single-product-card-elementor-section .elementor-container .col02 {
    width: 50%;
}


/* .single-product-card-elementor-section .elementor-container .col02 .price .woocommerce-Price-amount {
    display: block;
    margin-top: 8px;
    font-size: var(--title-xs)!important;
    color: var(--grey06)!important;
} */

.single-product-card-elementor-section .elementor-container .col02 .input-text[name="quantity"] {
    min-width: 100px;
}

.single-product-card-elementor-section .elementor-container .col02 .single_add_to_cart_button {
    width: fit-content;
    display: block;
    padding: 16px 40px;
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    color: var(--grey01);
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    line-height: 18px;
    background: var(--garnet02);
    border-radius: 100px;
    transition: all .33s ease-in-out;
}

.single-product-card-elementor-section .elementor-container .col02 .single_add_to_cart_button:hover {
    color: var(--grey01);
    text-decoration: none;
    background: var(--garnet02);
}

.single-product-card-elementor-section .elementor-container .col02 .single_add_to_cart_button:focus {
    color: var(--grey01);
}

.single-product-card-elementor-section .elementor-container .col02 .woocommerce-product-details__short-description div {
    font-size: var(--body-s);
}


/* - ADDITIONAL INFO */

.single-product-additional-info-elementor-section .elementor-container ul.tabs[role="tablist"] {
    padding-left: 0px!important;
    position: relative!important;
    top: 1px!important;
    border-bottom: none;
}

.single-product-additional-info-elementor-section .elementor-container ul.tabs[role="tablist"] li {
    border: 0px!important;
    background-color: transparent!important;
}

.single-product-additional-info-elementor-section .elementor-container ul.tabs[role="tablist"] li a {
    padding: 16px!important;
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    color: var(--carbon01);
    font-weight: 500!important;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.single-product-additional-info-elementor-section .elementor-container ul.tabs[role="tablist"] li.active a {
    border-bottom: 2px solid var(--garnet02);
}

.single-product-additional-info-elementor-section .elementor-container .woocommerce-Tabs-panel[role="tabpanel"] {
    border-top: 2px solid var(--grey04)!important;
}

.single-product-additional-info-elementor-section .elementor-container .woocommerce-Tabs-panel[role="tabpanel"] h2 {
    margin-bottom: 8px;
    font-family: var(--sans-serif01);
    font-size: var(--title-xs);
    color: var(--carbon01);
    font-weight: 500;
    line-height: 1.5em;
}


/*-----------------------------------SHOPCART------------------------------------*/


/* - TABLE PRODUCT */

.woocommerce-cart .shop_table,
.woocommerce-cart .shop_table * {
    border: unset;
}

.woocommerce-cart .shop_table tr {
    border-top: 1px solid var(--grey04)!important;
}

.woocommerce-cart .shop_table .product-remove a {
    color: var(--red01)!important;
}

.woocommerce-cart .shop_table .product-remove a:hover {
    color: var(--white01)!important;
    background: var(--red01);
}

.woocommerce-cart .shop_table input.input-text.qty {
    min-width: 100px;
}

.woocommerce-cart .shop_table .coupon {
    display: flex;
    align-items: center;
}

.woocommerce-cart .shop_table .coupon input {
    width: 150px!important;
    padding: 16px 16px!important;
    font-family: var(--sans-serif01)!important;
    font-size: var(--body-s)!important;
    border-color: var(--grey04)!important;
    border-radius: 4px!important;
}

.woocommerce-cart .shop_table .coupon input::placeholder {
    color: var(--grey06)!important;
    font-weight: 400!important;
}

.form-elementor-widget.s01 .elementor-field-group input:focus,
.form-elementor-widget.s01 .elementor-field-group textarea:focus {
    color: var(--carbon01)!important;
    font-weight: 500!important;
    outline: 0px!important;
    box-shadow: none!important;
}

.woocommerce-cart .shop_table button {
    font-family: var(--sans-serif01)!important;
    font-size: var(--title-xxs)!important;
    color: var(--carbon01)!important;
    text-transform: uppercase!important;
    font-weight: 500!important;
    letter-spacing: .1em!important;
    background: none!important;
}


/* - TABLE PURCHASE SUMMARY */

.woocommerce-cart .cart-collaterals {
    margin-top: 56px;
}

.woocommerce-cart .cart-collaterals h2 {
    font-family: var(--serif01);
    font-size: var(--title-xm);
    color: var(--carbon01);
    font-weight: bold;
}

.woocommerce-cart .wc-proceed-to-checkout a {
    width: fit-content!important;
    display: block!important;
    flex-basis: 0%!important;
    /* rr def */
    padding: 16px 40px!important;
    margin-left: auto!important;
    font-family: var(--sans-serif01)!important;
    font-size: var(--title-xxs)!important;
    color: var(--grey01)!important;
    font-weight: 500!important;
    line-height: 18px!important;
    letter-spacing: .1em!important;
    text-transform: uppercase!important;
    background: var(--garnet02)!important;
    border-radius: 100px!important;
    transition: all .33s ease-in-out!important;
}


/*------------------------------------CHECKOUT-----------------------------------*/

body.woocommerce-checkout h3 {
    font-family: var(--sans-serif01);
    font-size: var(--title-xs);
    font-weight: 500;
    color: var(--carbon01);
}

body.woocommerce-checkout #order_review_heading {
    margin-top: 56px;
}

body.woocommerce-checkout .woocommerce-checkout-payment {
    background: var(--grey01);
}

body.woocommerce-checkout .place-order button[type="submit"] {
    width: fit-content!important;
    display: block!important;
    flex-basis: 0%!important;
    /* rr def */
    padding: 16px 40px!important;
    margin-top: 56px;
    margin-left: auto!important;
    font-family: var(--sans-serif01)!important;
    font-size: var(--title-xxs)!important;
    color: var(--grey01)!important;
    font-weight: 500!important;
    line-height: 18px!important;
    letter-spacing: .1em!important;
    text-transform: uppercase!important;
    background: var(--garnet02)!important;
    border-radius: 100px!important;
    transition: all .33s ease-in-out!important;
}


/*------------------------------------ACCOUNT------------------------------------*/

body.woocommerce-account .woocommerce-MyAccount-navigation>ul {
    display: grid;
    grid-gap: 16px;
    margin: 0px;
    list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation>ul>li>a {
    width: 100%;
    display: block;
    padding: 8px 16px;
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    font-weight: 500;
    letter-spacing: .1em;
    color: var(--carbon01);
    text-transform: uppercase;
    background: var(--grey01);
    border-radius: 8px;
    transition: all .33s ease-in-out;
}

body.woocommerce-account .woocommerce-MyAccount-navigation>ul>li>a:hover {
    text-decoration: none;
    background: var(--grey02);
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
    display: flex;
    grid-gap: 16px;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions>a {
    text-align: center;
}


/*-------------------------------------LOGIN-------------------------------------*/


/* - WRAP */

body.woocommerce-account h2 {
    margin-bottom: 16px;
    font-family: var(--serif01);
    font-size: var(--title-xm);
    font-weight: bold;
    color: var(--carbon01);
    line-height: 1.3em;
}

body.woocommerce-account .woocommerce div#customer_login {
    display: flex;
    flex-flow: row wrap;
    grid-gap: 56px;
}

body.woocommerce-account .woocommerce div#customer_login::before,
body.woocommerce-account .woocommerce div#customer_login::after {
    content: none;
}

body.woocommerce-account .woocommerce div#customer_login>div {
    width: calc( 50% - 28px);
}

body.woocommerce-account .woocommerce div#customer_login>div>form {
    margin: 0px;
    border-radius: 8px;
    border: 1px solid var(--grey02);
}

body.woocommerce-account .woocommerce div#customer_login>div>form label {
    font-size: var(--body-s);
    color: var(--grey06);
}

body.woocommerce-account .woocommerce div#customer_login>div>form input {
    padding: 16px 16px;
    font-family: var(--sans-serif01);
    font-size: var(--body-s);
    border-color: var(--grey04);
    border-radius: 4px;
}

body.woocommerce-account .woocommerce div#customer_login>div>form input:focus {
    color: var(--carbon01);
    font-weight: 500;
    outline: 0px;
    box-shadow: none;
}

body.woocommerce-account .woocommerce div#customer_login>div>form button[type="submit"] {
    width: fit-content;
    display: block;
    flex-basis: 0%!important;
    /* rr def */
    padding: 16px 40px;
    margin-left: auto;
    font-family: var(--sans-serif01);
    font-size: var(--title-xxs);
    color: var(--grey01);
    font-weight: 500;
    line-height: 18px;
    letter-spacing: .1em;
    text-transform: uppercase;
    background: var(--garnet02);
    border-radius: 100px;
    transition: all .33s ease-in-out;
}


/* - LOGIN */

body.woocommerce-account .woocommerce div#customer_login>div>form .form-row:has(button[type="submit"]) {
    display: flex;
    flex-flow: row;
    align-items: center;
    margin-top: 24px;
}

body.woocommerce-account .woocommerce div#customer_login>div>form .form-row:has(button[type="submit"]) button[type="submit"] {
    order: 2;
}

body.woocommerce-account .woocommerce div#customer_login>div>form .form-row:has(button[type="submit"]) label:has(input[name="rememberme"]) {
    order: 1;
}


/*==============================.WOOCOMMERCE - TABLET============================*/

@media ( min-width:481px) and ( max-width:1024px) {
    /*-------------------------------------------------------------------------------*/
    /*-------------------------------------SHOP--------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - SIDEBAR */
    .shop-elementor-section .shop-sidebar-elementor-col {
        width: 20%!important;
    }
    /* - SHOP GRID */
    .shop-elementor-section .shop-grid-elementor-col {
        width: calc( 80% - 32px)!important;
    }
}


/*==============================.WOOCOMMERCE - MOBILE============================*/

@media ( max-width: 480px) {
    /*-------------------------------------------------------------------------------*/
    /*-------------------------------------GLOBAL------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - NOTICES */
    .woocommerce-notices-wrapper [role="alert"] {
        flex-flow: column;
        grid-gap: 8px;
        align-items: flex-start;
    }
    .woocommerce-notices-wrapper [role="alert"] .button {
        padding-left: 0px;
        text-align: left;
    }
    /*-------------------------------------------------------------------------------*/
    /*-------------------------------------SHOP--------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - WRAP */
    .shop-elementor-section .elementor-container {
        flex-flow: column;
        grid-gap: 40px;
    }
    /* - SIDEBAR */
    .shop-elementor-section .shop-sidebar-elementor-col {
        width: 100%!important;
    }
    /* - SHOP GRID */
    .shop-elementor-section .shop-grid-elementor-col {
        width: 100%!important;
    }
    /*-------------------------------------------------------------------------------*/
    /*---------------------------------SINGLE POST-----------------------------------*/
    /*-------------------------------------------------------------------------------*/
    /* - CARD - WRAP */
    .single-product-card-elementor-section .elementor-container {
        justify-content: space-between;
    }
    /* - CARD - COL01 */
    .single-product-card-elementor-section .elementor-container .col01 {
        width: 100%;
        order: 2;
        margin-top: 40px;
    }
    /* - CARD - COL02 */
    .single-product-card-elementor-section .elementor-container .col02 {
        width: 100%;
        order: 1;
    }
    /*-------------------------------------------------------------------------------*/
    /*------------------------------------CHECKOUT-----------------------------------*/
    /*-------------------------------------------------------------------------------*/
    body.woocommerce-checkout #order_review_heading {
        margin-top: 40px;
    }
    body.woocommerce-checkout .place-order button[type="submit"] {
        margin-top: 40px;
    }
    /*-------------------------------------------------------------------------------*/
    /*-------------------------------------LOGIN-------------------------------------*/
    /*-------------------------------------------------------------------------------*/
    body.woocommerce-account .woocommerce div#customer_login>div {
        width: 100%;
    }
}


/*==================================.MISCELLANY==================================*/


/*----------------------------------WHATSAPP BUTTON------------------------------*/

.qlwapp-toggle {
    width: 48px!important;
    height: 48px!important;
    background: var(--garnet02)!important;
}

.qlwapp-toggle>i {
    font-size: 18px!important;
}


/* POPUP */

.elementor-popup-modal .dialog-widget-content {
    /* 
            Sets the maximum width of the element to be the full width of its container 
            minus 32 pixels. This is useful for adding consistent horizontal padding or 
            spacing, ensuring the element does not overflow its parent.
        */
    max-width: calc(100% - 32px) !important;
    border-radius: 10px !important;
}


/*---------------------------ADD TO CART ICON BUTTON-----------------------------*/

@media screen and (max-width:800px) {
    /* Oculta el texto del botón y muestra solo el icono */
    .add_to_cart_button.ajax_add_to_cart {
        font-size: 0 !important;
        /* Oculta el texto */
        width: 60px;
        height: 40px;
        min-width: 40px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: var(--garnet01);
        border-radius: 50%;
        transition: background-color 0.3s ease;
    }
    .add_to_cart_button.ajax_add_to_cart:hover {
        background-color: var(--garnet02);
    }
    /* Agrega el icono SVG como pseudo-elemento */
    .add_to_cart_button.ajax_add_to_cart::before {
        content: '';
        display: block;
        width: 20px;
        height: 20px;
        /* background-image: url('https://desarrollos-monpizza.mplgzq.easypanel.host/wp-content/uploads/2026/01/cart-icon-w.svg'); */
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        left: 18px;
        position: absolute;
        top: 10px;
    }
}

#viva-reviews-clientes .elementor-testimonial__footer {
    border-top: 1px solid #0000001a;
    padding-top: 16px;
}

#viva-reviews-clientes .swiper-pagination-bullet-active {
    width: 32px !important;
    border-radius: 100px !important;
}


/* BUTTON WHATSAPP */

.qlwapp__button.qlwapp__button--bubble {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 9999 !important;
}


/*===================================.MINI CART====================================*/


/* Nombre del producto */

.elementor-menu-cart__product-name a {
    font-family: var(--serif01);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--carbon01);
    text-decoration: none;
}


/* Precio y cantidad */

.elementor-menu-cart__product-price .quantity {
    font-family: var(--sans-serif01);
    font-size: 13px;
    font-weight: 400;
    color: var(--grey06);
}

.elementor-menu-cart__product-price .woocommerce-Price-amount {
    font-weight: 500;
    color: var(--carbon01);
}


/* Subtotal */

.elementor-menu-cart__subtotal {
    font-family: var(--sans-serif01);
    font-size: 15px;
    padding: 16px 0;
}

.elementor-menu-cart__subtotal strong {
    font-weight: 600;
    color: var(--carbon01);
}

.elementor-menu-cart__subtotal .woocommerce-Price-amount {
    font-weight: 600;
    color: var(--garnet02);
}


/* Botones */

.elementor-menu-cart__footer-buttons .elementor-button {
    font-family: var(--sans-serif01);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: 100px;
    padding: 10px 20px;
}

.elementor-button--view-cart {
    background: var(--grey01);
    color: var(--carbon01) !important;
    border: 1px solid var(--grey03);
}

.elementor-button--view-cart:hover {
    background: var(--grey02);
}

.elementor-button--checkout {
    background: var(--garnet02);
    color: var(--white01) !important;
}

.elementor-button--checkout:hover {
    background: var(--garnet01);
}


/* Mini Cart - Responsive */

@media (max-width: 767px) {
    .elementor-menu-cart--cart-type-mini-cart .elementor-menu-cart__main {
        width: calc(100vw - 20px) !important;
        max-width: 360px;
        left: -216px !important;
        right: auto !important;
    }
}


/*===================================TAMBIÉN TE PUEDE INTERESAR====================================*/

.tambien-te-puede-interesar {
    width: 100%;
}

.ttpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.ttpi-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 0;
    overflow: hidden;
    border: 1px solid #00000010;
    border-radius: 14px;
}

.ttpi-imagen {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 10px;
    text-decoration: none;
}

.ttpi-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.ttpi-imagen:hover img {
    transform: scale(1.05);
}

.ttpi-badge {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    background: #680809;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 12px;
    padding: 6px 16px;
    border-radius: 100px;
    white-space: nowrap;
}

.ttpi-contenido {
    display: flex;
    flex-direction: column;
    padding: 24px 16px;
    flex: 1;
}

.ttpi-titulo-link {
    text-decoration: none;
}

.ttpi-titulo-link:hover .ttpi-titulo {
    color: #680809;
}

.ttpi-titulo {
    font-family: 'Gentium Book Basic', serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    color: #0a0a0a;
    margin: 0 0 4px 0;
    transition: color 0.2s;
}

.ttpi-cantidad-caja {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
    color: #6a7282;
    margin: 0 0 12px 0;
}

.ttpi-precios {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.ttpi-precio-unitario {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.4;
    color: #0a0a0a;
}

.ttpi-precio-caja-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ttpi-precio-caja-label {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #6a7282;
}

.ttpi-precio-caja {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #0a0a0a;
}

.ttpi-precio-sin-iva {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 12px;
    color: #9ca3af;
}

.ttpi-acciones {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
}

.ttpi-label-cajas {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #6a7282;
}

.ttpi-cantidad-añadir {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ttpi-cantidad {
    display: flex;
    align-items: center;
    border: 1px solid #d1d5dc;
    border-radius: 10px;
    overflow: hidden;
    height: 40px;
    flex-shrink: 0;
}

.ttpi-cantidad-btn {
    width: 32px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: #0a0a0a;
    transition: background 0.2s;
    padding: 0px !important;
}

.ttpi-cantidad-btn:hover {
    background: #f3f4f6;
}

.ttpi-cantidad-btn svg {
    width: 12px;
    height: 12px;
    color: #0a0a0a;
}

.ttpi-cantidad-btn:focus svg {
    color: #ffffff !important;
}

.ttpi-cantidad-btn svg path {
    stroke: #0a0a0a !important;
}

.ttpi-cantidad-input {
    width: 40px;
    height: 100%;
    text-align: center;
    border: none;
    border-left: 1px solid #d1d5dc;
    border-right: 1px solid #d1d5dc;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #0a0a0a;
    -moz-appearance: textfield;
    padding: 0px !important;
}

.ttpi-cantidad-input::-webkit-outer-spin-button,
.ttpi-cantidad-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ttpi-cantidad-input:focus {
    outline: none;
}

.ttpi-añadir {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #680809;
    color: #f7f7f7;
    border: none;
    border-radius: 100px;
    padding: 0 16px;
    height: 40px;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    transition: background 0.2s;
    white-space: nowrap;
    flex: 1;
}

.ttpi-añadir:hover {
    background: #7a1011;
}

.ttpi-añadir.loading {
    opacity: 0.7;
    pointer-events: none;
}

.ttpi-añadir svg {
    width: 16px;
    height: 16px;
}

@media (max-width: 1024px) {
    .ttpi-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .ttpi-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .ttpi-card {
        border-radius: 10px;
    }
    .ttpi-imagen {
        aspect-ratio: 1 / 1;
        border-radius: 8px;
    }
    .ttpi-badge {
        top: 8px;
        font-size: 10px;
        padding: 4px 12px;
    }
    .ttpi-contenido {
        padding: 12px 8px;
    }
    .ttpi-titulo {
        font-size: 16px;
        line-height: 1.25;
    }
    .ttpi-cantidad-caja {
        font-size: 12px;
        margin-bottom: 8px;
    }
    .ttpi-precios {
        gap: 2px;
        margin-bottom: 12px;
    }
    .ttpi-precio-unitario {
        font-size: 16px;
    }
    .ttpi-precio-caja-row {
        flex-wrap: wrap;
        gap: 4px;
    }
    .ttpi-precio-caja-label {
        font-size: 12px;
    }
    .ttpi-precio-caja {
        font-size: 12px;
        color: #680809;
    }
    .ttpi-precio-sin-iva {
        font-size: 10px;
    }
    .ttpi-acciones {
        gap: 4px;
    }
    .ttpi-label-cajas {
        font-size: 12px;
    }
    .ttpi-cantidad-añadir {
        flex-direction: row;
        gap: 8px;
    }
    .ttpi-cantidad-añadir {
        display: flex;
        gap: 8px;
    }
    .ttpi-cantidad-añadir>* {
        flex: 1;
    }
    .ttpi-cantidad {
        width: 60%;
        height: 36px;
    }
    .ttpi-cantidad-btn {
        width: 33%;
    }
    .ttpi-cantidad-input {
        flex: 1;
        width: 33%;
        font-size: 12px;
    }
    .ttpi-añadir {
        width: 40%;
        min-width: unset;
        height: 36px;
        padding: 0 16px;
        flex: none;
    }
    .ttpi-añadir span {
        display: none;
    }
}

@media (max-width: 400px) {
    .ttpi-grid {
        gap: 8px;
    }
    .ttpi-contenido {
        padding: 10px 6px;
    }
    .ttpi-titulo {
        font-size: 14px;
    }
    .ttpi-precio-unitario {
        font-size: 14px;
    }
    .ttpi-cantidad {
        width: 100%;
        height: 32px;
    }
    .ttpi-cantidad-btn {
        width: 32px;
    }
    .ttpi-cantidad-input {
        flex: 1;
        width: auto;
        font-size: 11px;
    }
    .ttpi-añadir {
        width: 100%;
        min-width: unset;
        height: 32px;
    }
}

@media screen and (max-width: 600px) {
    .single-product-card-elementor-section .elementor-container {
        flex-direction: column-reverse;
    }
}