/* Global
============================================================ */

:root {
    --primary: #198FB8;
    --secondary: #18546A;
    --lightblue: #C6D8DE;
    --lightgrey: #F6F7F9;
    --extralightblue: #F7FCFF;
    --scrollbarWidth: 0px;
}

body {
    font-family: "sofia-pro", sans-serif;
    font-weight: 300;
    font-style: normal;
}

#wrapper {
    padding-top: 0;
    background-color: white;
}

#main .page-content,
#main .page-footer,
#main .page-header {
    margin-bottom: 0;
}

.page-content.page-cms {
    padding: 0;
}

.page-content.page-cms ul,
p {
    color: black;
    font-size: 16px;
    font-weight: 300;
}

.page-content.page-cms ul {
    list-style: '- ';
    list-style-position: inside;
    padding-left: 0;
}

img {
    max-width: 100%;
    height: auto;
}

details summary::-webkit-details-marker {
    display: none;
}

a {
    color: var(--primary);
}

svg:not(:root) {
    overflow: visible;
}

.title-split-blue {
    color: var(--primary);
}

#product-availability .product-last-items, #product-availability .product-unavailable {
    color: var(--primary);
}

/* Btn
------------------------------ */

.btn {
    background-color: var(--primary);
    color: white;
    font-weight: 600;
    border-radius: 6px;
}

/* Container
------------------------------ */

@media (min-width: 1360px) {
    .container {
        width: 1330px;
        max-width: 100%;
    }
}

/* Swiper js
============================================================ */

.swiper:has(.swiper-pagination) {
    padding-bottom: 35px;
}

.swiper-pagination {
    bottom: 0;
}

.swiper-pagination-bullet {
    background-color: #DEE9EE;
    width: 10px;
    height: 10px;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background-color: #9EB9C3
}

/* Homepage
============================================================ */

#index #wrapper {
    overflow: hidden;
}

.home-engagement-text {
    overflow: hidden;
}

.home-engagement-text + .read-more-toggle {
    text-transform: uppercase;
    color: var(--primary);
}

/* Header
============================================================ */

/* Global
------------------------------ */

#header {
    box-shadow: none;
    border-bottom: 1px solid rgba(198, 216, 222, 0.5);
}

/* Header top banner
------------------------------- */

@media (max-width: 757px) {
    .header-top-banner > .elementor-container > .elementor-row {
        display: flex;
        flex-wrap: nowrap;
        overflow: auto;
        align-items: center;
    }

    .header-top-banner > .elementor-container > .elementor-row > .elementor-element {
        width: fit-content;
        flex-shrink: 0;
    }
}

/* Header top
------------------------------ */

#header .header-top {
    padding: 9px 0;
    border-bottom: 1px solid rgba(198, 216, 222, 0.5);
}

#header .header-top .wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1330px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

#header .header-top .menu-toggle {
    width: 35px;
    height: 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

body#checkout #header .header-top .menu-toggle {
    display: none;
}

#header .header-top .menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    border-radius: 2px;
    background-color: var(--secondary);
    transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#header .header-top .menu-toggle.active span:first-child {
    transform: rotate(45deg);
    translate: 0 7px;
}

#header .header-top .menu-toggle.active span:nth-child(2) {
    width: 0;
}

#header .header-top .menu-toggle.active span:last-child {
    transform: rotate(-45deg);
    translate: 0 -7px;
}

#header .header-top .right {
    display: flex;
    align-items: flex-end;
    gap: 20px;
}

body#checkout #header .header-top .right {
    justify-content: flex-end;
}

#header .header-top .right .nav-wishlist,
#header .header-top .right .nav-account,
#header .header-top .right .nav-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 13px;
    color: var(--secondary);
    position: relative;
}

#header .header-top .right .nav-wishlist:hover,
#header .header-top .right .nav-account:hover,
#header .header-top .right .nav-cart:hover {
    color: var(--primary);
}

#header .header-top .right .nav-wishlist:hover svg path,
#header .header-top .right .nav-account:hover svg path,
#header .header-top .right .nav-cart:hover svg path {
    fill: var(--primary)
}

#header .header-top .right .nav-cart .count {
    position: absolute;
    top: -10px;
    right: -10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    font-size: 15px;
}

.header-top .search-widgets {
    max-width: unset;
}

#search_widget form {
    display: flex;
    align-items: stretch;
}

.header-top #search_widget input {
    width: 500px;
    border-width: 1px 1px 1px 0;
    border-style: solid;
    border-color: var(--lightblue);
    border-radius: 0 5px 5px 0;
    background-color: white;
    padding: 12px 9px;
    color: var(--secondary);
}

.header-top #search_widget input::placeholder {
    color: var(--secondary);
    opacity: 0.75;
}

.header-top #search_widget .search-icon {
    background-color: var(--primary);
    border-radius: 5px 0 0 5px;
    border: 1px solid var(--primary);
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 1025px) {
    #header .header-top .menu-toggle {
        display: none;
    }
}

@media (max-width: 1199px) {
    #header .header-top #search_widget input {
        width: 350px;
    }
}

@media (max-width: 1024px) {
    #header .header-top {
        border-bottom: 0;
    }

    #header .header-top .wrapper {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 15px;
    }

    #header .header-top .logo {
        width: 130px;
    }

    #header .header-top .search,
    #header .header-top .right .nav-wishlist span,
    #header .header-top .right .nav-account span,
    #header .header-top .right .nav-cart span {
        display: none;
    }
}

/* Header nav
------------------------------ */

#header .header-nav {
    max-height: unset;
    border: 0;
}

#header .header-nav .wrapper {
    width: 1330px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 30px;
}

#header .header-nav #search_widget {
    width: 100%;
    background-color: var(--lightgrey);
    float: none;
    margin-bottom: 0;
}

#header .header-nav #search_widget form {
    display: flex;
    align-items: center;
}

#header .header-nav #search_widget form input {
    background-color: transparent;
    padding: 16px 10px;
}

#header .header-nav #search_widget form input::placeholder {
    color: black;
    opacity: 1;
}

#header .header-nav #search_widget .search-icon {
    padding-left: 30px;
}

#header .header-nav #search_widget .search-icon svg {
    display: block;
}

#header .header-nav #search_widget .search-icon svg path {
    stroke: black;
}

#header .header-nav .additional-link {
    display: flex;
    align-items: baseline;
    gap: 30px;
}

#header .header-nav .additional-link a {
    text-decoration: underline;
    color: var(--secondary);
}

#header .header-nav .additional-link a.btn {
    font-weight: 300;
    padding: 5px 13px;
    text-decoration: none;
    text-transform: uppercase;
    color: white;
}

@media (min-width: 1025px) {
    #header .header-nav #search_widget {
        display: none;
    }
}

@media (max-width: 1199px) {
    #header .header-nav .additional-link a {
        font-size: 15px;
    }
}

@media (max-width: 1024px) {
    #header .header-nav {
        position: absolute;
        top: 103px;
        left: 0;
        width: 100%;
        height: calc(100vh - 71px);
        translate: -100% 0;
        transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
        background-color: white;
        overflow: hidden;
    }

    #header .header-nav.active {
        translate: 0 0;
    }

    #header .header-nav .wrapper {
        display: block;
        padding: 0 0 40px 0;
        height: 100%;
        overflow: auto;
    }

    #header .header-nav .additional-link {
        flex-direction: column;
        gap: 25px;
        padding: 0 30px;
    }

    #header .header-nav .additional-link a {
        font-size: 18px;
    }

    #header .header-nav .additional-link a.btn {
        width: calc(100% + 20px);
        padding: 20px;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        translate: -10px 0;
    }

    #header .header-nav .additional-link a.btn::after {
        content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="5.33" height="9.322" viewBox="0 0 5.33 9.322"><path id="Icon_ionic-ios-arrow-back" data-name="Icon ionic-ios-arrow-back" d="M1.607,4.66,5.134,1.135A.666.666,0,0,0,4.19.195l-4,3.994a.665.665,0,0,0-.019.919L4.188,9.128a.666.666,0,0,0,.944-.941Z" transform="translate(5.33 9.322) rotate(180)" fill="%23fff"/></svg>');
        line-height: 0;
    }
}

/* Advanced top menu
============================================================ */

/* Reset
------------------------------ */

#adtm_menu {
    border: 0;
    margin: 0;
    box-shadow: none;
    position: unset;
}

#adtm_menu_inner {
    background-color: initial;
    background: initial;
    border: 0;
}

#adtm_menu .li-niveau1 {
    line-height: initial;
    min-height: initial;
    display: flex;
    align-items: center;
    gap: 6px;
}

#adtm_menu ul#menu li div.adtm_sub {
    border: 0;
    box-shadow: none;
    top: 100%;
}

#adtm_menu .li-niveau1.sub:hover::after {
    transform: rotate(180deg);
}

#adtm_menu ul#menu li.li-niveau1 a.a-niveau1 {
    border: 0;
    float: none;
    line-height: initial;
    min-height: initial;
}

#adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span {
    font-size: initial;
    font-weight: initial;
    line-height: initial;
    min-height: initial;
    text-transform: initial;
    padding: 0;
}

#adtm_menu .adtm_column_wrap,
#adtm_menu .adtm_column ul.adtm_elements li a {
    padding: 0;
}

#adtm_menu .adtm_column,
#adtm_menu .adtm_column_wrap span.column_wrap_title {
    margin: 0;
    padding: 0;
}

@media (min-width: 767px) {

    .li-niveau1 a:hover .advtm_menu_span,
    .li-niveau1 .advtm_menu_span:hover,
    .li-niveau1:hover>a.a-niveau1 .advtm_menu_span {
        background: transparent;
    }
}

@media (min-width: 1200px) {

    .li-niveau1 a:hover .advtm_menu_span,
    .li-niveau1 .advtm_menu_span:hover,
    .li-niveau1:hover>a.a-niveau1 .advtm_menu_span,
    .li-niveau1 a.advtm_menu_actif .advtm_menu_span {
        background: initial;
        background-color: initial;
    }

    #adtm_menu .li-niveau1 a.a-niveau1:hover .advtm_menu_span,
    .li-niveau1:hover>a.a-niveau1 .advtm_menu_span {
        color: inherit;
    }
}

@media (max-width: 1199px) {
    #adtm_menu ul li.li-niveau1:not(.advtm_menu_toggle) {
        display: block;
        padding: 0;
    }

    .li-niveau1 a .advtm_menu_span,
    .li-niveau1 .advtm_menu_span,
    #adtm_menu.adtm_menu_toggle_open .li-niveau1.sub.adtm_sub_open a .advtm_menu_span,
    .li-niveau1 a:focus .advtm_menu_span,
    .li-niveau1 a.advtm_menu_actif .advtm_menu_span,
    .li-niveau1 .advtm_menu_span:focus,
    .li-niveau1:focus>a.a-niveau1 .advtm_menu_span {
        background: transparent;
    }
}

/* Theme
------------------------------ */

#adtm_menu ul#menu {
    display: flex;
    align-items: baseline;
    gap: 0;
}

#adtm_menu .li-niveau1 {
    padding: 0 20px;
    border-bottom: 2px solid transparent;
}

#adtm_menu .li-niveau1:hover {
    border-color: var(--primary);
}

#adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span {
    font-size: 17px;
    font-weight: 400;
    color: var(--secondary);
    padding: 23px 0;
}

#adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span:hover {
    color: var(--primary);
}

#adtm_menu ul#menu .li-niveau1 div.adtm_sub {
    padding-top: 40px;
    padding-bottom: 30px;
    border-top: 1px solid var(--lightblue);
    background: #f6f6f6;
}

#adtm_menu ul#menu .li-niveau1 div.adtm_sub .columnWrapTable {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 0 2fr;
    gap: 30px;
    width: 1330px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}

#adtm_menu div.adtm_column_wrap span.column_wrap_title a {
    display: block;
    color: var(--secondary);
    font-weight: 300;
}

#adtm_menu .adtm_column span.column_wrap_title a:hover,
#adtm_menu a.adtm_unclickable:hover {
    cursor: default;
    color: var(--secondary);
}

#adtm_menu ul#menu .columnWrapTable .adtm_column_wrap_td:first-child div.adtm_column_wrap span.column_wrap_title a {
    font-size: 18px;
}

#adtm_menu ul#menu .columnWrapTable .adtm_column_wrap_td:first-child div.adtm_column_wrap .adtm_column+.adtm_column {
    margin-top: 30px;
}

#adtm_menu .adtm_column ul.adtm_elements li a {
    font-size: 15px;
    margin-top: 20px;
}

#adtm_menu div.adtm_column_wrap ul.adtm_elements li a:hover {
    color: #18546a;
    text-decoration: underline;
}

@media (max-width: 1199px) {
    #adtm_menu ul#menu {
        column-gap: 25px;
        row-gap: 0;
    }

    #adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span {
        font-size: 15px;
    }
}

@media (max-width: 1024px) {
    #adtm_menu ul#menu {
        display: block;
        padding: 0 40px;
        overflow: hidden;
    }

    #adtm_menu ul#menu li.li-niveau1 a.a-niveau1 .advtm_menu_span,
    #adtm_menu .columnWrapTable .adtm_column_wrap_td .column_wrap_title,
    #adtm_menu .adtm_column ul.adtm_elements li a {
        padding: 20px 0;
        margin: 0;
        border-bottom: 1px solid var(--lightblue);
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        font-size: 18px;
        font-weight: 300;
    }

    #adtm_menu ul#menu li.li-niveau1:last-child a.a-niveau1 .advtm_menu_span,
    #adtm_menu .columnWrapTable .adtm_column_wrap_td:last-child .column_wrap_title,
    #adtm_menu .adtm_column ul.adtm_elements li:last-child a {
        border-bottom: 0;
    }

    #adtm_menu ul#menu li.li-niveau1 a.a-niveau1 .advtm_menu_span::after,
    #adtm_menu .columnWrapTable .adtm_column_wrap_td .column_wrap_title::after,
    #adtm_menu .adtm_column ul.adtm_elements li a::after {
        content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="5.33" height="9.322" viewBox="0 0 5.33 9.322"><path id="Icon_ionic-ios-arrow-back" data-name="Icon ionic-ios-arrow-back" d="M1.607,4.66,5.134,1.135A.666.666,0,0,0,4.19.195l-4,3.994a.665.665,0,0,0-.019.919L4.188,9.128a.666.666,0,0,0,.944-.941Z" transform="translate(5.33 9.322) rotate(180)" fill="%2318546a"/></svg>');
        line-height: 0;
    }

    #adtm_menu ul#menu .li-niveau1 div.adtm_sub {
        position: absolute;
        top: 0 !important;
        left: 0;
        translate: 100% 0;
        width: 100%;
        transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
        padding: 35px 0;
        height: 100%;
    }

    #adtm_menu ul#menu .li-niveau1 div.adtm_sub.active {
        translate: 0 0;
    }

    #adtm_menu ul#menu .li-niveau1 div.adtm_sub .columnWrapTable {
        display: block;
    }

    #adtm_menu .adtm_column_wrap_td:has(.adtm_menu_icon) {
        display: none;
    }

    #adtm_menu .sub-back {
        padding: 0 40px;
        margin-bottom: 40px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 15px;
        font-size: 15px;
        color: var(--secondary);
    }

    #adtm_menu .sub-back::before {
        content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="5.33" height="9.322" viewBox="0 0 5.33 9.322"><path id="Icon_ionic-ios-arrow-back" data-name="Icon ionic-ios-arrow-back" d="M1.607,4.66,5.134,1.135A.666.666,0,0,0,4.19.195l-4,3.994a.665.665,0,0,0-.019.919L4.188,9.128a.666.666,0,0,0,.944-.941Z" transform="translate(0)" fill="%2318546a"/></svg>');
    }

    #adtm_menu div.adtm_column_wrap span.column_wrap_title a {
        font-weight: 300;
    }

    #adtm_menu ul#menu .columnWrapTable .adtm_column_wrap_td:first-child div.adtm_column_wrap .adtm_column+.adtm_column {
        margin-top: 0;
    }

    #adtm_menu div.adtm_column_wrap ul.adtm_elements {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        translate: 100% 0;
        transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
        overflow: auto;
        background-color: white;
        padding: 35px 0;
    }

    #adtm_menu div.adtm_column_wrap ul.adtm_elements.active {
        translate: 0 0;
    }

    #adtm_menu div.adtm_column_wrap ul.adtm_elements li {
        padding: 0 40px;
    }

    #adtm_menu .advtm_hide_desktop {
        display: block !important;
    }
}

/* Elementor
============================================================ */

.elementor-text-editor h1,
.elementor-text-editor h2,
.elementor-text-editor h3 {
    color: var(--secondary);
    font-size: 30px;
}

.elementor-email-subscription input.elementor-field {
    min-width: 250px;
    flex-basis: 0;
    max-width: 100%;
}

.elementor-email-subscription .elementor-button-content-wrapper {
    align-items: center;
    gap: 10px;
    justify-content: center;
}

.newsletter-wrapper-full .elementor-email-subscription .elementor-button {
    width: 320px;
    max-width: 100%;
}

.newsletter-wrapper-full .elementor-email-subscription .elementor-button-text {
    flex-grow: 0;
}

.newsletter-wrapper-full .elementor-email-subscription .elementor-button-content-wrapper::before {
    content: url('data:image/svg+xml,<svg id="arrow" xmlns="http://www.w3.org/2000/svg" width="18.339" height="18.339" viewBox="0 0 18.339 18.339"><g id="Path" transform="translate(21)" fill="none" stroke-miterlimit="10"><path d="M-11.83,0a9.157,9.157,0,0,1,9.17,9.17,9.157,9.157,0,0,1-9.17,9.17A9.157,9.157,0,0,1-21,9.17,9.157,9.157,0,0,1-11.83,0Z" stroke="none"/><path d="M -11.830322265625 0.9999980926513672 C -14.01717185974121 0.9999980926513672 -16.07004165649414 1.848506927490234 -17.61076164245605 3.389237403869629 C -19.15149307250977 4.929957389831543 -20.00000190734863 6.982828140258789 -20.00000190734863 9.169677734375 C -20.00000190734863 11.35652732849121 -19.15149307250977 13.40939712524414 -17.61076164245605 14.95011806488037 C -16.07004165649414 16.49084854125977 -14.01717185974121 17.33935737609863 -11.830322265625 17.33935737609863 C -9.643472671508789 17.33935737609863 -7.590602874755859 16.49084854125977 -6.049882888793945 14.95011806488037 C -4.509151458740234 13.40939712524414 -3.660642623901367 11.35652732849121 -3.660642623901367 9.169677734375 C -3.660642623901367 6.982828140258789 -4.509151458740234 4.929957389831543 -6.049882888793945 3.389237403869629 C -7.590602874755859 1.848506927490234 -9.643472671508789 0.9999980926513672 -11.830322265625 0.9999980926513672 M -11.830322265625 -1.9073486328125e-06 C -6.756431579589844 -1.9073486328125e-06 -2.660642623901367 4.09578800201416 -2.660642623901367 9.169677734375 C -2.660642623901367 14.24356842041016 -6.756431579589844 18.33935737609863 -11.830322265625 18.33935737609863 C -16.90421295166016 18.33935737609863 -21.00000190734863 14.24356842041016 -21.00000190734863 9.169677734375 C -21.00000190734863 4.09578800201416 -16.90421295166016 -1.9073486328125e-06 -11.830322265625 -1.9073486328125e-06 Z" stroke="none" fill="%23fff"/></g><path id="Path-2" data-name="Path" d="M-5.339,7.86-.76,3.93-5.339,0-6,.567-2.082,3.93-6,7.293Z" transform="translate(15.452 5.24)" fill="%23fff"/><path id="Path-3" data-name="Path" d="M-1.394,0H-11V.873h9.606Z" transform="translate(15.212 8.733)" fill="%23fff"/></svg>');
    line-height: 0;
}

@media (max-width: 767px) {
    .elementor-text-editor h1,
    .elementor-text-editor h2,
    .elementor-text-editor h3 {
        font-size: 24px;
    }

    .elementor-email-subscription input.elementor-field {
        width: 250px;
    }
}

/* Category grid
============================================================ */

.category-grid .ce-image-gallery {
    align-items: flex-start;
    border-radius: 8px;
    overflow: hidden;
}

.category-grid .ce-gallery-item {
    position: relative;
}

.category-grid .ce-gallery-item .ce-gallery-icon a {
    aspect-ratio: 1/0.83;
}

.category-grid .ce-gallery-item .ce-gallery-icon a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.category-grid .ce-gallery-item:hover .ce-gallery-icon a img {
    scale: 1.1;
}

.category-grid .ce-gallery-item .ce-gallery-caption {
    position: absolute;
    bottom: 25px;
    left: 25px;
    z-index: 1;
}

.category-grid .ce-gallery-item .ce-gallery-caption::before {
    content: "";
    width: 40px;
    height: 35px;
    background-color: var(--primary);
    margin-right: -25px;
    position: absolute;
    top: calc(50% - 17.5px);
    left: -15px;
    z-index: -1;
    transition: width .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.category-grid .ce-gallery-item:hover .ce-gallery-caption::before {
    width: calc(100% + 30px);
}

.category-grid .ce-gallery-item .ce-gallery-caption a {
    font-size: 24px;
    font-weight: 500;
    color: white;
}

@media (max-width: 575px) {
    .category-grid .swiper-pagination {
        bottom: -5px !important;
    }

    .category-grid .swiper-pagination-bullet {
        background-color: #E2EBEE;
        opacity: 1;
    }

    .category-grid .swiper-pagination-bullet-active {
        background-color: #A2BAC3;
    }
}

/* Corner background
============================================================ */

.corner-background {
    position: relative;
    z-index: 1;
}

.corner-background::before,
.corner-background::after {
    content: "";
    width: 330px;
    height: 330px;
    background-image: url('/themes/sobreal/assets/img/background-corner.png');
    background-size: cover;
    position: absolute;
    z-index: -1;
}

.corner-background::before {
    top: 0;
    left: 0;
}

.corner-background::after {
    bottom: 0;
    right: 0;
    rotate: 180deg;
}

@media (max-width: 575px) {
    .corner-background::before,
    .corner-background::after {
        width: 200px;
        height: 200px;
    }
}

/* Img frame
============================================================ */

.img-frame {
    position: relative;
}

.img-frame::before {
    content: "";
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    border: 2px solid white;
    position: absolute;
    top: 15px;
    left: 15px;
}

/* Espace pro
============================================================ */

/* Contact text two col
------------------------------- */

@media (min-width: 768px) {
    .contact-text-two-col {
        columns: 2;
        column-gap: 30px;
    }
}

/* Espace pro contact
------------------------------- */

.espace-pro-contact {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.espace-pro-contact::before {
    content: "";
    width: 230px;
    height: 230px;
    background-image: url('/themes/sobreal/assets/img/background-corner-top-right.png');
    background-position: top right;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

/* Phone link
------------------------------- */

.phone-link .elementor-text-editor {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.phone-link .elementor-text-editor::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 23 23"><g id="Groupe_175160" data-name="Groupe 175160" transform="translate(-769 -2871)"><circle id="Ellipse_298" data-name="Ellipse 298" cx="11.5" cy="11.5" r="11.5" transform="translate(769 2871)" fill="%23198fb8"/><path id="Icon_material-phone" data-name="Icon material-phone" d="M6.744,9.33a9.392,9.392,0,0,0,4.086,4.086l1.364-1.364a.616.616,0,0,1,.632-.149,7.072,7.072,0,0,0,2.213.353.622.622,0,0,1,.62.62V15.04a.622.622,0,0,1-.62.62A10.539,10.539,0,0,1,4.5,5.12a.622.622,0,0,1,.62-.62H7.29a.622.622,0,0,1,.62.62,7.043,7.043,0,0,0,.353,2.213.622.622,0,0,1-.155.632Z" transform="translate(770.491 2872.491)" fill="%23fff"/></g></svg>');
    line-height: 0;
}

.phone-link a {
    text-decoration: underline;
}

/* Email link
------------------------------- */

.email-link .elementor-text-editor {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.email-link .elementor-text-editor::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 23 23"><g id="Groupe_175161" data-name="Groupe 175161" transform="translate(-769 -2871)"><circle id="Ellipse_298" data-name="Ellipse 298" cx="11.5" cy="11.5" r="11.5" transform="translate(769 2871)" fill="%23198fb8"/><path id="Icon_ionic-md-mail" data-name="Icon ionic-md-mail" d="M12.821,5.625H3.363A1.116,1.116,0,0,0,2.25,6.738v6.955A1.116,1.116,0,0,0,3.363,14.8h9.458a1.116,1.116,0,0,0,1.113-1.113V6.738A1.116,1.116,0,0,0,12.821,5.625ZM12.682,7.99l-4.59,3.06L3.5,7.99V6.877l4.59,3.06,4.59-3.06Z" transform="translate(772.408 2872.285)" fill="%23fff"/></g></svg>');
    line-height: 0;
}

.email-link a {
    text-decoration: underline;
}

/* We speak english
------------------------------- */

.we-speak-english .elementor-text-editor {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.we-speak-english .elementor-text-editor::before {
    content: url('data:image/svg+xml,<svg id="Groupe_175162" data-name="Groupe 175162" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="23" height="23" viewBox="0 0 23 23"><defs><clipPath id="clip-path"><rect id="Rectangle_3197" data-name="Rectangle 3197" width="23" height="23" fill="none"/></clipPath></defs><g id="Groupe_174923" data-name="Groupe 174923" clip-path="url(%23clip-path)"><path id="Tracé_53875" data-name="Tracé 53875" d="M216.144,11.577q-.057-.508-.156-1H212.3l2.889-2.464a11.465,11.465,0,0,0-.849-1.54l-4.725,4h-2l5.953-5.044Q213.3,5.2,213,4.9l-5.935,5.032V1.609q-.441-.092-.894-.15V11.577Z" transform="translate(-193.216 -1.367)" fill="%23fff"/><path id="Tracé_53876" data-name="Tracé 53876" d="M206.175,219.943q.453-.057.894-.15v-7.882l5.654,4.876a11.57,11.57,0,0,0,1.23-1.4l-4.788-4.137h2l3.514,3.036q.192-.333.363-.679l-2.739-2.357h3.592q.119-.492.2-1h-9.914Z" transform="translate(-193.216 -197.035)" fill="%23fff"/><path id="Tracé_53877" data-name="Tracé 53877" d="M11.36,1.027q-.453.048-.9.131l0,8.365L4.41,4.372A11.561,11.561,0,0,0,3.335,5.624L8.684,10.17h-2L2.62,6.713q-.24.414-.445.85L5.233,10.17H1.31q-.1.493-.156,1H11.36Z" transform="translate(-1.081 -0.962)" fill="%23fff"/><path id="Tracé_53878" data-name="Tracé 53878" d="M11.285,219.839q.441.082.894.13v-9.721H2.027q.076.507.2,1H6.051l-2.9,2.517A11.5,11.5,0,0,0,4.2,215.439l4.845-4.191h2l-6,5.191q.226.239.466.465l5.771-4.992Z" transform="translate(-1.9 -197.034)" fill="%23fff"/><path id="Tracé_53879" data-name="Tracé 53879" d="M231.144,71.285l4.725-4a11.545,11.545,0,0,0-.769-1.041l-5.953,5.044Z" transform="translate(-214.744 -62.078)" fill="%23bd0034"/><path id="Tracé_53880" data-name="Tracé 53880" d="M253.75,226.145l4.788,4.137a11.511,11.511,0,0,0,.724-1.1l-3.514-3.036Z" transform="translate(-237.801 -211.931)" fill="%23bd0034"/><path id="Tracé_53881" data-name="Tracé 53881" d="M30.545,78.714,25.2,74.168a11.518,11.518,0,0,0-.715,1.088l4.065,3.458Z" transform="translate(-22.943 -69.506)" fill="%23bd0034"/><path id="Tracé_53882" data-name="Tracé 53882" d="M41.5,226.145l-4.845,4.191a11.557,11.557,0,0,0,.844,1l6-5.191Z" transform="translate(-34.347 -211.931)" fill="%23bd0034"/><path id="Tracé_53883" data-name="Tracé 53883" d="M226.331,7.125A11.481,11.481,0,0,0,220.4,3.838v8.319Z" transform="translate(-206.543 -3.597)" fill="%231a237b"/><path id="Tracé_53884" data-name="Tracé 53884" d="M59,3.106A11.474,11.474,0,0,0,52.949,6.32l6.057,5.151Z" transform="translate(-49.621 -2.911)" fill="%231a237b"/><path id="Tracé_53885" data-name="Tracé 53885" d="M307.327,109.768a11.414,11.414,0,0,0-.8-2.464l-2.889,2.464Z" transform="translate(-284.555 -100.56)" fill="%231a237b"/><path id="Tracé_53886" data-name="Tracé 53886" d="M306.379,228.5a11.418,11.418,0,0,0,.853-2.357H303.64Z" transform="translate(-284.555 -211.931)" fill="%231a237b"/><path id="Tracé_53887" data-name="Tracé 53887" d="M63.274,236.7,57.5,241.691a11.467,11.467,0,0,0,5.771,2.936Z" transform="translate(-53.889 -221.822)" fill="%231a237b"/><path id="Tracé_53888" data-name="Tracé 53888" d="M220.4,244.58a11.474,11.474,0,0,0,5.654-3.005L220.4,236.7Z" transform="translate(-206.543 -221.822)" fill="%231a237b"/><path id="Tracé_53889" data-name="Tracé 53889" d="M5.139,226.145a11.417,11.417,0,0,0,.933,2.517l2.9-2.517Z" transform="translate(-4.816 -211.931)" fill="%231a237b"/><path id="Tracé_53890" data-name="Tracé 53890" d="M4.5,105.013a11.415,11.415,0,0,0-.865,2.608H7.562Z" transform="translate(-3.41 -98.413)" fill="%231a237b"/><path id="Tracé_53891" data-name="Tracé 53891" d="M10.279,22.935a11.62,11.62,0,0,0,2.68-.027V13.215h9.914a11.579,11.579,0,0,0,.055-3.005H12.959V.092a11.62,11.62,0,0,0-2.68-.027V10.209H.073a11.567,11.567,0,0,0,.055,3.005H10.279Z" transform="translate(0 0)" fill="%23bd0034"/></g></svg>');
    line-height: 0;
}

/* Product carousel
============================================================ */

.product-carousel .swiper {
    padding-top: 80px;
    margin-top: -40px;
}

.product-carousel .swiper .elementor-swiper-button-prev,
.product-carousel .swiper .elementor-swiper-button-next {
    top: -10px;
    left: unset;
    bottom: unset;
    width: 30px;
    height: 20px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.product-carousel .swiper .elementor-swiper-button-prev {
    right: 60px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28.306" height="20.371" viewBox="0 0 28.306 20.371"><g id="Icon_feather-arrow-right" data-name="Icon feather-arrow-right" transform="translate(27.806 19.664) rotate(180)"><path id="Tracé_53048" data-name="Tracé 53048" d="M7.5,18H34.806" transform="translate(-7.5 -8.522)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path id="Tracé_53049" data-name="Tracé 53049" d="M18,7.5l9.478,9.478L18,26.457" transform="translate(-0.173 -7.5)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></g></svg>');
}

.product-carousel .swiper .elementor-swiper-button-next {
    right: 0;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28.306" height="20.371" viewBox="0 0 28.306 20.371"><g id="Icon_feather-arrow-right" data-name="Icon feather-arrow-right" transform="translate(0.5 0.707)"><path id="Tracé_53048" data-name="Tracé 53048" d="M0,0H27.306" transform="translate(0 9.479)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path id="Tracé_53049" data-name="Tracé 53049" d="M0,18.957,9.479,9.479,0,0" transform="translate(17.827 0)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></g></svg>');
}

.product-carousel .swiper-pagination .swiper-pagination-bullet {
    background-color: #DEEAEE;
    opacity: 1;
}

.product-carousel .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #9EB9C3;
}

@media (min-width: 576px) {
    .product-carousel .swiper-pagination {
        display: none;
    }
}

@media (max-width: 575px) {
    .product-carousel .swiper .elementor-swiper-button-prev {
        right: 40px;
    }

    .product-carousel .swiper .elementor-swiper-button-prev,
    .product-carousel .swiper .elementor-swiper-button-next {
        width: 20px;
        height: 15px;
    }
}

/* Button list
============================================================ */

.accordion .elementor-widget-accordion {
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--primary) transparent;
}

.accordion .elementor-accordion-item {
    border-left: 0;
    border-right: 0;
}

.accordion .elementor-tab-title {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
}

.accordion .elementor-accordion-icon {
    float: none !important;
    width: fit-content !important;
    transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.accordion .elementor-tab-title:not(:hover) .elementor-accordion-icon path {
    fill: #C6D8DE;
}

.accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
    rotate: 90deg;
}

/* Newsletter block
============================================================ */

.newsletter-block {
    background-image: url('/themes/sobreal/assets/img/background-corner-top-right.png');
    background-position: top right;
    background-repeat: no-repeat;
}

.newsletter-block .elementor-widget-text-editor {
    max-width: 300px;
}

@media (max-width: 575px) {
    .newsletter-block {
        background-image: url('/themes/sobreal/assets/img/background-corner-top-right-mobile.png');
    }
}

/* Breadcrumb
============================================================ */

#wrapper .breadcrumb {
    margin-top: 15px;
    font-size: 13px;
}

#wrapper .breadcrumb li a,
#wrapper .breadcrumb li::after,
#wrapper .breadcrumb li:last-child {
    color: var(--secondary);
}

#wrapper .breadcrumb li:first-child {
    pointer-events: none;
    cursor: default;
}

body#category #wrapper .breadcrumb li:nth-child(3),
body#product #wrapper .breadcrumb li:nth-child(3) {
    display: none;
}

@media (min-width: 768px) {
    .breadcrumb-product-mobile {
        display: none;
    }
}

@media (max-width: 767px) {
    body#product #wrapper .breadcrumb {
        display: none;
    }

    .breadcrumb-product-mobile {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        margin: 15px 0;
        color: var(--secondary);
    }

    .breadcrumb-product-mobile::before {
        content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.816" height="9.617" viewBox="0 0 12.816 9.617"><g id="Icon_feather-arrow-right" data-name="Icon feather-arrow-right" transform="translate(12.316 8.91) rotate(180)"><path id="Tracé_53048" data-name="Tracé 53048" d="M7.5,18H19.316" transform="translate(-7.5 -13.898)" fill="none" stroke="%23178fb8" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path id="Tracé_53049" data-name="Tracé 53049" d="M18,7.5l4.1,4.1L18,15.7" transform="translate(-10.286 -7.5)" fill="none" stroke="%23178fb8" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></g></svg>');
    }
}

/* Footer
============================================================ */

.footer-reassurance-wrapper .elementor-icon-box-icon {
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#footer {
    padding-top: 0;
}

.footer-wrapper {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="215.264" height="349.109" viewBox="0 0 215.264 349.109"><g id="Groupe_173299" data-name="Groupe 173299" transform="translate(-8602.002 185.69)" opacity="0.081"><path id="Tracé_53052" data-name="Tracé 53052" d="M32.469,71.634S8.234,132.6.275,155.174c-1.515,4.3,3.457,7.209,9.681-1.107a189.562,189.562,0,0,0,13.322-21.1c9.192-16.706,18.832-33.162,28.251-49.753.559-1.034,5.348-9.155,6.613-11.582Z" transform="translate(8602.002 4.044)" fill="%23fff"/><path id="Tracé_53053" data-name="Tracé 53053" d="M68.4,71.634s24.242,60.968,32.183,83.54c1.515,4.3-3.446,7.209-9.7-1.107a195.717,195.717,0,0,1-13.329-21.1c-9.18-16.706-18.81-33.162-28.2-49.753-.607-1.034-5.377-9.155-6.632-11.582Z" transform="translate(8716.413 4.044)" fill="%23fff"/><path id="Tracé_53054" data-name="Tracé 53054" d="M155.576,80.743c1.578,3.277,1.883,6.488.857,11.045-2.453,8.408-10.089,16.695-24.61,23.941-14.08,6.959-44.7,9.809-65.838,9.055-21.2-.559-41.345-8.2-56.7-17.169l.559-85.681a89.8,89.8,0,0,0,19.781,12.4C44.075,40.887,61.116,45.8,79.992,49.674h.438l.441.048c23.654,4.708,53.251,13.065,63.851,20.093.162.077.28.2.434.276a28.139,28.139,0,0,1,10.42,10.652" transform="translate(8626.872 -129.056)" fill="%23fff"/><path id="Tracé_53055" data-name="Tracé 53055" d="M82.726.573c-21.289,0-63.6,5-70.189,30.789-1,3.877-.677,6.731.949,9.626,1.184,2.887,4.079,5.848,8.706,9.2C31.884,56.917,49.337,62.9,71.181,67.253l.868.037c20.575,3.958,56.915,14.7,72.583,22.024,3.483,1.714,6.852,3.524,10.1,5.5V23.774C137.441,10.736,105.416,1.125,84.433.661c-.555-.04-1.144-.088-1.707-.088" transform="translate(8634.059 -186.263)" fill="%23fff"/><path id="Tracé_53056" data-name="Tracé 53056" d="M104.623,81.875c-42.739,0-80.5-11.707-103.409-29.631V81.312c0,16.739,14.319,30.307,32.007,30.307H174.286c17.681,0,32.01-13.568,32.01-30.307V53.586c-23.054,17.162-60.008,28.288-101.673,28.288" transform="translate(8605.253 -47.884)" fill="%23fff"/></g></svg>');
    background-repeat: no-repeat;
    background-position: calc(100% - 140px) bottom;
    background-size: auto calc(100% - 60px);
}

.footer-wrapper a {
    color: white;
}

.footer-logo-column > .elementor-column-wrap {
    align-items: center;
}

#footer .footer-links .elementor-text-editor {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 15px;
    margin-bottom: 10px;
}

#footer .footer-links .elementor-text-editor p {
    margin: 0;
}

#footer .footer-links .elementor-text-editor p+p::before {
    content: "|";
    margin-right: 15px;
}

#footer .footer-links .elementor-text-editor a {
    text-decoration: underline;
}

#footer .footer-link-wrapper .elementor-widget-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
    padding-left: 30px;
}

#footer .footer-link-column .content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

#footer .footer-link-column .column-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    color: white;
    padding-bottom: 12px;
    border-bottom: 1px solid white;
}

#footer .footer-link-column .column-toggle::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="13.24" height="7.151" viewBox="0 0 13.24 7.151"><g id="next" transform="translate(0 7.151) rotate(-90)"><g id="Groupe_7" data-name="Groupe 7" transform="translate(0)"><path id="Tracé_19" data-name="Tracé 19" d="M7,6.257.876.15A.513.513,0,0,0,.151.877L5.91,6.62.151,12.364a.513.513,0,0,0,.725.727L7,6.983a.513.513,0,0,0,0-.727Z" fill="%23fff"/></g></g></svg>');
    line-height: 0;
}

#footer .footer-link-column a,
#footer .footer-link-column button {
    font-style: 16px;
    font-weight: 300;
    text-transform: uppercase;
    color: white;
    border: 0;
    background: transparent;
    padding: 0;
    text-align-last: left;
    cursor: pointer;
}

#footer .footer-link-column a:hover,
#footer .footer-link-column button:hover {
    text-decoration: underline;
}

#footer .footer-link-column.social a,
#footer .footer-link-column.social button {
    font-weight: 600;
}

#footer .footer-copyright {
    text-align: center;
    padding-top: 12px;
}

#footer .footer-copyright > * {
    display: inline-block;
    font-size: 13px;
    color: white;
    margin: 0;
}

#footer .footer-copyright > * + *::before {
    content: " | ";
}

@media (min-width: 992px) {
    #footer .footer-link-column .content.two-column {
        display: block;
        column-count: 2;
        column-gap: 30px;
    }

    #footer .footer-link-column .content.two-column a,
    #footer .footer-link-column .content.two-column button {
        display: block;
        margin-bottom: 24px;
    }
}

@media (min-width: 576px) {
    #footer .footer-link-column .column-toggle {
        display: none;
    }
}

@media (max-width: 991px) {
    .footer-wrapper {
        background-position: calc(100% - 25px) bottom;
        background-size: 65% auto;
    }
    .elementor-email-subscription .elementor-field-type-subscribe {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }
    .elementor-email-subscription .elementor-field-type-subscribe .elementor-button {
        margin-left: 0 !important;
    }

    #footer .footer-links .elementor-text-editor {
        flex-direction: column;
    }

    #footer .footer-links .elementor-text-editor p+p::before {
        display: none;
    }

    #footer .footer-link-wrapper .elementor-widget-container {
        padding-left: 0;
        margin-top: 30px;
    }
}

@media (max-width: 575px) {
    #footer .footer-link-wrapper .elementor-widget-container {
        margin-top: 0;
        flex-direction: column;
    }

    #footer .footer-link-column {
        width: 100%;
    }

    #footer .footer-link-column .column-toggle.active {
        border-bottom: 0;
        padding-bottom: 24px;
    }

    #footer .footer-link-column .column-toggle.active::after {
        rotate: 180deg;
    }

    #footer .footer-link-column .column-toggle + .content {
        display: none;
    }

    #footer .footer-link-column .column-toggle + .content.active {
        display: flex;
    }

    #footer .footer-copyright {
        text-align: left;
        padding-top: 30px;
    }

    #footer .footer-copyright .copyright {
        display: block;
        margin-bottom: 1em;
    }

    #footer .footer-copyright .copyright + *::before {
        display: none;
    }
}

/* Footer reassurance
------------------------------ */

.footer-reassurance * {
    font-family: 'new-spirit', sans-serif;
    font-size: 15px;
    color: var(--secondary);
}

.footer-reassurance-wrapper > .elementor-column-wrap > .elementor-widget-wrap {
    overflow: hidden;
}

.footer-reassurance .swiper-wrapper > .elementor-element {
    flex-shrink: 0;
    margin-bottom: 10px;
}

.footer-reassurance .swiper-pagination {
    bottom: 0 !important;
}

.footer-reassurance .swiper-pagination .swiper-pagination-bullet {
    background-color: #E2EBEE;
    opacity: 1;
}

.footer-reassurance .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #A2BAC3;
}

@media (max-width: 767px) {
    .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon {
        display: flex;
        margin: 0;
    }
}

/* Footer link list
------------------------------ */

.footer-link-list .elementor-nav--main ul.elementor-nav {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
}

.footer-link-list .elementor-nav--main ul.elementor-nav>li.menu-item a.has-submenu {
    display: none;
}

.footer-link-list .elementor-nav--main ul.elementor-nav>li.menu-item>ul.sub-menu {
    display: block;
    position: unset;
    width: auto;
}

.footer-link-list .elementor-nav--main ul.elementor-nav>li.menu-item:first-child>ul.sub-menu {
    column-count: 2;
}

.footer-link-list .elementor-nav--main ul.elementor-nav>li.menu-item>ul.sub-menu a.elementor-sub-item {
    font-size: 16px;
    text-transform: uppercase;
}

.footer-link-list .elementor-nav--main ul.elementor-nav>li.menu-item:last-child>ul.sub-menu a.elementor-sub-item {
    font-weight: 600;
}

.footer-link-list .elementor-nav--dropdown ul.elementor-nav>li.menu-item {
    border-bottom: 1px solid white;
}

.footer-link-list .elementor-nav--dropdown ul.elementor-nav>li.menu-item+li.menu-item {
    margin-top: 45px;
}

.footer-link-list .elementor-nav--dropdown ul.elementor-nav>li.menu-item a.has-submenu {
    padding-left: 0;
    padding-right: 0;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
}

.footer-link-list .elementor-nav--dropdown .menu-item .elementor-item-active,
.footer-link-list .elementor-nav--dropdown .menu-item .highlighted,
.footer-link-list .elementor-nav--dropdown .menu-item [href]:focus,
.footer-link-list .elementor-nav--dropdown .menu-item [href]:hover {
    background-color: transparent;
}

.footer-link-list .elementor-nav--dropdown ul.elementor-nav>li.menu-item>ul.sub-menu {
    padding-left: 0;
}

.footer-link-list .elementor-nav--dropdown ul.elementor-nav>li.menu-item>ul.sub-menu a.elementor-sub-item {
    padding: 0;
    margin-top: 15px;
    margin-bottom: 15px;
    font-size: 15px;
    text-transform: uppercase;
}

@media (max-width: 1199px) {
    .footer-link-list .elementor-nav--main ul.elementor-nav>li.menu-item:first-child>ul.sub-menu {
        column-count: 1;
    }
}

/* Bicolour title
============================================================ */

.bicolour-lighter {
    color: var(--primary);
}

/* Product flags
============================================================ */

.product-flags {
    padding: 15px;
}

.product-flags li.product-flag {
    padding: 4px 8px;
    font-size: 14px;
    font-weight: 400;
    text-transform: initial;
    background-color: var(--primary);
}

.product-miniature .product-flags li.product-flag {
    min-height: 0;
    min-width: 0;
    font-weight: 300;
}

.product-flags li.product-flag.discount,
.product-flags li.product-flag.discount-amount,
.product-flags li.product-flag.discount-percentage {
    background-color: var(--primary);
}

.product-flags li.product-flag:first-child {
    margin-top: 0;
}

@media (max-width: 991px) {
    .product-flags {
        padding: 8px;
    }

    .product-flags li.product-flag {
        font-size: 12px;
        padding: 3px 8px;
        margin-top: 5px;
    }
}

/* Wishlist
============================================================ */

.wishlist-button-add {
    box-shadow: none !important;
}

.wishlist-button-add:hover {
    opacity: 1 !important;
}

.wishlist-button-add i {
    color: var(--secondary) !important;
}

/* Wishlist grid
------------------------------- */

.wishlist-products-list {
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.wishlist-product {
    max-width: unset !important;
}

.wishlist-products-item {
    margin: 0 !important;
}

.wishlist-product-image {
    width: 100% !important;
    height: unset !important;
    aspect-ratio: 1;
}

.wishlist-product-image img {
    position: unset !important;
    transform: none !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wishlist-product-link:hover img {
    transform: none !important;
    scale: 1.1;
}

.wishlist-product-title {
    font-family: "sofia-pro", sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2em !important;
    text-transform: uppercase !important;
    color: var(--secondary) !important;
}

.wishlist-product-price {
    color: var(--secondary) !important;
    font-size: 22px !important;
    font-weight: 300 !important;
}

.wishlist-product-combinations {
    gap: 10px;
    margin-bottom: 15px !important;
}

.wishlist-product-combinations-text,
.wishlist-product-combinations a {
    color: black !important;
}

@media screen and (max-width: 768px) {
    .wishlist-products-container .page-content.card {
        box-shadow: none !important;
    }

    .wishlist-product-link {
        display: block !important;
    }

    .wishlist-product-title {
        margin-top: 10px !important;
    }
}

@media (max-width: 991px) {
    .wishlist-products-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .wishlist-products-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .wishlist-products-list {
        grid-template-columns: 1fr;
    }
}

/* Buttons
============================================================ */

.btn-primary,
.elementor-button {
    transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 6px !important;
}

.elementor-button {
    background-color: var(--primary);
}
.btn-primary:hover,
.elementor-button:hover {
    background-color: var(--secondary);
}

/* Form
============================================================ */

form .form-control-label {
    font-size: 1rem;
}

.form-control {
    border: 1px solid var(--lightblue);
    border-radius: 5px;
    background-color: white;
    color: var(--secondary);
    padding: 12px 20px;
}

.form-control:focus {
    outline: 2px solid var(--primary);
    border-color: var(--primary);
}

.input-group .form-control {
    border-right: 0;
}

.input-group .input-group-btn>.btn[data-action=show-password] {
    border-width: 1px 1px 1px 0;
    border-style: solid;
    border-color: var(--lightblue);
    border-radius: 0 5px 5px 0;
    background-color: white;
    color: transparent;
    font-size: 8px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 18"><g id="Mdp" transform="translate(1 1)"><path id="Tracé_37974" data-name="Tracé 37974" d="M1,12S5,4,12,4s11,8,11,8-4,8-11,8S1,12,1,12Z" transform="translate(-1 -4)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><circle id="Ellipse_116" data-name="Ellipse 116" cx="3" cy="3" r="3" transform="translate(8 5)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></svg>');
    background-position: center center;
    background-repeat: no-repeat;
    padding: 0;
    width: 50px;
}

select.form-control {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 20px;
    height: auto !important;
}

.form-control-submit {
    display: block;
    margin: 0 auto;
    padding: 15px;
    min-width: 150px;
    text-align: center;
}

.form-group:has(.custom-checkbox label)>.form-control-label {
    display: none;
}

.custom-checkbox input[type=checkbox]+span {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border-color: var(--secondary);
}

.custom-checkbox input[type=checkbox]:checked+span {
    background-color: var(--secondary);
}

.custom-checkbox input[type=checkbox]+span .checkbox-checked {
    margin: -1px;
    color: white;
    font-weight: 800;
}

.custom-checkbox label {
    font-weight: 300;
    color: black;
}

.custom-checkbox label em {
    font-size: 14px;
    color: #707070;
}

body#checkout .custom-checkbox>label {
    padding-left: 30px;
}

.custom-radio {
    width: 20px;
    height: 20px;
    border-color: var(--secondary);
    border-width: 2px;
}

.custom-radio input[type=checkbox] {
    cursor: pointer;
    opacity: 0;
}

.custom-radio input[type=checkbox]:checked+span {
    position: absolute;
    border-radius: 50%;
}

.custom-radio input[type=radio]:checked+span,
.custom-radio input[type=checkbox]:checked+span {
    top: 3px;
    left: 3px;
    background-color: var(--secondary);
    width: 10px;
    height: 10px;
}

.label,
label,
form .form-control-label {
    font-size: 16px;
    color: var(--secondary);
    font-weight: 600;
    margin-bottom: 10px;
}

/* Contact form 7
============================================================ */

.wpcf7 .form-control {
    font-size: 16px;
}

.wpcf7 input.form-control {
    min-height: unset;
}

.wpcf7 .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    margin-top: 25px;
    margin-bottom: 25px;
}

.wpcf7 .form-row br {
    display: none;
}

.wpcf7-submit {
    margin: 0 auto;
    display: block;
    padding: 15px;
    min-width: 150px;
    font-size: 14px !important;
    background-color: var(--primary);
}

.wpcf7-form-control-wrap .custom_choosefile .button_choosefile {
    display: none;
}

.wpcf7-form-control-wrap .select_arrow {
    height: 100%;
}

.wpcf7-form-control-wrap .select_arrow::before {
    top: calc(50% - 8px);
}

@media (max-width: 767px) {
    .wpcf7 .form-row {
        gap: 10px;
    }
}

/* Product macaron
============================================================ */

.macaron-fabrication {
    position: absolute;
    bottom: 25px;
    left: 25px;
    z-index: 1;
    width: 80px;
    height: 80px;
}

@media (max-width: 991px) {
    .macaron-fabrication {
        bottom: 20px;
        left: 20px;
        width: 60px;
        height: 60px;
    }
}

/* Product page
============================================================ */

#product .product-container {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: flex-start;
    gap: 30px;
}

#product #content {
    max-width: 100%;
}

#product .product-flags {
    padding: 25px;
}

#product .wishlist-button-add {
    position: absolute;
    top: 25px;
    right: 25px;
    z-index: 10;
}

#product .product-image-slider .swiper-button-prev::after,
#product .product-image-slider .swiper-button-next::after,
#product .product-accessories .swiper-button-prev::after,
#product .product-accessories .swiper-button-next::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="35" height="35" viewBox="0 0 35 35"><g id="Fleche_carrousel_photo" data-name="Fleche carrousel photo" transform="translate(35 35) rotate(180)" opacity="0.8"><g id="Ellipse_15" data-name="Ellipse 15" fill="%23fff" stroke="%2318546a" stroke-width="1"><circle cx="17.5" cy="17.5" r="17.5" stroke="none"/><circle cx="17.5" cy="17.5" r="17" fill="none"/></g><path id="Icon_ionic-ios-arrow-back" data-name="Icon ionic-ios-arrow-back" d="M2.573,7.462,8.221,1.818A1.067,1.067,0,0,0,6.71.312L.311,6.706A1.065,1.065,0,0,0,.28,8.177l6.426,6.439A1.067,1.067,0,0,0,8.216,13.11Z" transform="translate(23.039 24.964) rotate(180)" fill="%2318546a"/></g></svg>');
}

#product .product-image-slider .swiper-button-prev:hover::after,
#product .product-image-slider .swiper-button-next:hover::after ,
#product .product-accessories .swiper-button-prev:hover::after,
#product .product-accessories .swiper-button-next:hover::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="35" height="35" viewBox="0 0 35 35"><g id="Fleche_carrousel_photo" data-name="Fleche carrousel photo" transform="translate(35 35) rotate(180)" opacity="0.8"><g id="Ellipse_15" data-name="Ellipse 15" fill="%2318546a" stroke="%2318546a" stroke-width="1"><circle cx="17.5" cy="17.5" r="17.5" stroke="none"/><circle cx="17.5" cy="17.5" r="17" fill="none"/></g><path id="Icon_ionic-ios-arrow-back" data-name="Icon ionic-ios-arrow-back" d="M2.573,7.462,8.221,1.818A1.067,1.067,0,0,0,6.71.312L.311,6.706A1.065,1.065,0,0,0,.28,8.177l6.426,6.439A1.067,1.067,0,0,0,8.216,13.11Z" transform="translate(23.039 24.964) rotate(180)" fill="%23fff"/></g></svg>');
}

#product .product-image-slider .swiper-button-next::after,
#product .product-accessories .swiper-button-next::after {
    rotate: 180deg;
}

#product .product-container .left,
#product .product-container .right {
    min-width: 0;
    max-width: 100%;
}

#product .product-container .right>.wrapper {
    padding: 40px 30px;
    border: 1px solid var(--lightblue);
    border-radius: 8px;
}

#product .product-container .right h1 {
    font-family: 'sofia-pro', sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--secondary);
    text-align: center;
}

.product-actions .control-label {
    color: var(--secondary);
    margin-bottom: 15px;
}

.product-variants>.product-variants-item {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.product-variants>.product-variants-item:has(select[name='group[10]']) {
    margin: 0;
    height: 0;
    overflow: hidden;
}

.product-variants>.product-variants-item ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.product-variants>.product-variants-item ul li {
    margin: 0;
}

.product-variants>.product-variants-item label {
    margin: 0;
}

.product-variants>.product-variants-item .color {
    margin: 0;
    width: 35px;
    height: 35px;
    border-radius: 8px;
    border: 2px solid var(--lightblue);
    outline: 3px solid white;
    outline-offset: -4px;
}

.product-variants>.product-variants-item .input-color:checked+span,
.product-variants>.product-variants-item .input-color:hover+span,
.product-variants>.product-variants-item .input-radio:checked+span,
.product-variants>.product-variants-item .input-radio:hover+span {
    border: 2px solid var(--secondary);
    outline-width: 2px;
}

.product-variants>.product-variants-item select {
    width: 300px;
    max-width: 100%;
}

.product-prices {
    margin-top: 30px;
    text-align: center;
}

.product-prices .product-price {
    margin-bottom: 0;
}

.product-prices .current-price {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
}

.product-prices .current-price-value {
    font-size: 28px;
    font-weight: 600;
    color: var(--secondary);
}

.product-prices .has-discount .discount {
    background-color: var(--primary);
    margin: 0;
}

.product-prices .product-discount {
    font-size: 18px;
    color: var(--secondary);
    opacity: 0.7;
    margin: 0;
}

.product-prices .price-ecotax {
    font-size: 13px;
    color: var(--primary);
    margin: 0;
}

.product-actions .product-add-to-cart {
    margin-top: 30px;
    text-align: center;
}

.product-quantity {
    justify-content: center;
}


.product-quantity .add {
    min-height: 52px;
}

.product-actions .add-to-cart {
    width: 300px;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: auto;
    padding: 15px;
    text-transform: unset;
    transition: 
        background-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),
        border-radius 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.product-actions .add-to-cart.btn:disabled {
    opacity: 1;
}

.product-actions .add-to-cart:hover {
    border-radius: 6px;
}

.product-actions .add-to-cart::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="23.196" height="17.972" viewBox="0 0 23.196 17.972"><g id="Groupe_174618" data-name="Groupe 174618" transform="translate(-5.804 -968.262)"><path id="Union_8" data-name="Union 8" d="M-2926.373-6594.727h-4.151a2.469,2.469,0,0,1-2.363,1.83,2.456,2.456,0,0,1-2.45-2.452,2.319,2.319,0,0,1,.063-.524l-3.069-13.749h-3.964a.648.648,0,0,1-.625-.594.624.624,0,0,1,.168-.443.628.628,0,0,1,.425-.209h4.493a.638.638,0,0,1,.6.486l.471,2.127h16.417a.624.624,0,0,1,.478.247.627.627,0,0,1,.126.522l-1.828,7.577a.634.634,0,0,1-.6.478h-12.611l.468,2.1a2.44,2.44,0,0,1,1.438-.471,2.473,2.473,0,0,1,2.363,1.828h4.151a2.473,2.473,0,0,1,2.363-1.828,2.454,2.454,0,0,1,2.451,2.452,2.456,2.456,0,0,1-2.451,2.452A2.467,2.467,0,0,1-2926.373-6594.727Zm1.158-.622a1.193,1.193,0,0,0,1.2,1.206,1.194,1.194,0,0,0,1.206-1.206,1.194,1.194,0,0,0-1.206-1.208A1.193,1.193,0,0,0-2925.215-6595.349Zm-8.878,0a1.194,1.194,0,0,0,1.206,1.206,1.193,1.193,0,0,0,1.2-1.206,1.194,1.194,0,0,0-1.2-1.208A1.194,1.194,0,0,0-2934.093-6595.349Zm-.982-5.328h12.405l1.526-6.333h-15.347Z" transform="translate(2948.738 7579.13)" fill="%23fff"/></g></svg>');
    line-height: 0;
}

.product-actions .add-to-cart.sticky {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    width: 100%;
}

.btn-primary.disabled:hover,
.btn-primary:disabled:hover {
    background-color: var(--secondary);
}

.product-pack {
    margin-top: 25px;
}

.product-pack .h4 {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    color: var(--secondary);
    margin-bottom: 15px;
}

.product-pack .pack-product-container {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px;
}

.pack-product-container .left {
    padding: 15px;
    border: 1px solid var(--lightblue);
    border-radius: 4px;
    display: flex;
    gap: 12px;
    align-items: center;
}

.product-pack .pack-product-container .pack-product-name {
    flex: unset;
}

.product-pack .pack-product-container .pack-product-name a {
    color: var(--secondary);
    font-size: 14px;
}

.product-pack .pack-product-container .pack-product-quantity {
    margin: 0;
    padding: 15px;
    border: 1px solid var(--lightblue);
    border-radius: 4px;
}

.product-description * {
    font-weight: 300;
    line-height: 1.4;
}

.product-description ul {
    list-style: '- ';
    list-style-position: inside;
}

.product-description h1,
.product-description h2,
.product-description h3,
.product-description h4,
.product-description h5,
.product-description h6 {
    font-family: 'sofia-pro', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300;
    color: var(--secondary);
}

.product-quantity.clearfix:has(.add-to-cart[disabled]) {
    display: none;
}

@media (min-width: 992px) {
    #product .product-container .left {
        grid-column: 1/2;
        grid-row: 1;
    }

    #product .product-container .right {
        grid-column: 2/3;
        grid-row: 1;
    }

    #product .product-container .right .product-image-slider-wrapper {
        display: none;
    }
}

@media (max-width: 991px) {
    #product .product-container {
        display: flex;
        flex-direction: column;
    }

    #product #content .product-flags,
    #product .product-flags {
        padding: 20px;
    }

    #product #content .wishlist-button-add {
        top: 15px;
        right: 15px;
    }

    #product .product-container .left .product-image-slider-wrapper {
        display: none;
    }

    #product .product-container .right .product-image-slider-wrapper {
        position: relative;
        margin-bottom: 30px;
    }

    #product .product-container .right>.wrapper {
        padding: 0;
        border: 0;
        border-radius: 0;
    }

    #product .product-container .right h1 {
        font-size: 18px;
    }

    .product-prices .current-price-value {
        font-size: 24px;
    }

    .product-discount .regular-price {
        font-size: 16px;
    }

    #product .wishlist-button-add {
        top: 20px;
        right: 20px;
    }
}

/* Product accordion
------------------------------ */

.product-accordion {
    margin-top: 40px;
}

.product-accordion details {
    border-top: 1px solid var(--lightblue);
}

.product-accordion details summary {
    padding: 20px 10px;
    color: var(--primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.product-accordion details summary::after {
    content: '+';
    font-size: 28px;
    font-weight: 300;
    line-height: 0;
    margin-top: -10px;
}

.product-accordion details[open] summary::after {
    content: '-';
}

.product-accordion details summary h2 {
    font-family: 'sofia-pro', sans-serif;
    font-size: 16px;
    margin: 0;
    color: var(--primary);
}

.product-accordion details .content {
    padding: 20px 0;
    border-top: 1px solid var(--lightblue);
}

.product-accordion .pack-features-item + .product-features-item {
    display: none;
}

/* Shtt product related articles
------------------------------ */

.shttProductRelatedArticles {
    margin-top: 100px;
}

.shttProductRelatedArticles .subtitle {
    text-align: center;
    display: block;
    color: var(--primary);
}

.shttProductRelatedArticles .title {
    text-align: center;
    color: var(--secondary);
    margin-bottom: 30px;
}

@media (max-width: 991px) {
    .shttProductRelatedArticles {
        margin-top: 30px;
    }

    .shttProductRelatedArticles .subtitle {
        font-size: 14px;
    }

    .shttProductRelatedArticles .title {
        font-size: 24px;
        margin-bottom: 25px;
    }
}

/* Product features
------------------------------ */

.product-features {
    margin: 0;
}

.product-features>dl.data-sheet {
    background-color: var(--extralightblue);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0;
}

.definition-list dl dd:nth-of-type(even),
.definition-list dl dt:nth-of-type(even),
.product-features>dl.data-sheet dd.value:nth-of-type(even),
.product-features>dl.data-sheet dt.name:nth-of-type(even) {
    background-color: var(--extralightblue);
}

.product-features>dl.data-sheet+dl.data-sheet {
    border-top: 1px solid var(--lightblue);
}

.product-features>dl.data-sheet dd.value,
.product-features>dl.data-sheet dt.name {
    min-height: 0;
    padding: 8px 45px;
    background-color: transparent;
    margin: 0;
    flex: unset;
    border-bottom: 1px solid var(--lightblue);
    font-weight: 300;
    text-transform: unset;
}

.product-features>dl.data-sheet dt.name {
    color: var(--primary);
}

.product-features>dl.data-sheet dd.value {
    color: var(--secondary);
}

.product-features>dl.data-sheet dt.feature-category,
.product-features>dl.data-sheet dd.feature-category {
    background-color: var(--primary) !important;
    color: white !important;
}

@media (max-width: 767px) {
    .product-features>dl.data-sheet dd.value,
    .product-features>dl.data-sheet dt.name {
        padding: 8px;
        font-size: 14px;
    }
}

/* Featured products
------------------------------ */

#product .featured-products {
    margin-top: 80px;
}

#product .featured-products .subtitle {
    margin-bottom: 8px;
    display: block;
    color: var(--primary);
}

#product .featured-products .title {
    font-size: 30px;
    font-family: 'new-spirit', sans-serif;
    color: var(--secondary);
    margin-bottom: 45px;
}

#product .featured-products .products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 30px;
}

@media (max-width: 991px) {
    #product .featured-products {
        margin-top: 35px;
    }

    #product .featured-products .subtitle {
        font-size: 14px;
    }

    #product .featured-products .title {
        font-size: 24px;
        margin-bottom: 25px;
    }
}

/* Product accessories
------------------------------ */

.product-accessories {
    margin-top: 80px;
    padding-top: 70px;
    padding-bottom: 70px;
    background-color: var(--extralightblue);
    width: calc(100vw - var(--scrollbarWidth));
    translate: calc((-100vw + 1300px) / 2) 0;
}

.product-accessories .wrapper {
    width: 1330px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

.product-accessories .subtitle {
    margin-bottom: 8px;
    display: block;
    color: var(--primary);
}

.product-accessories .title {
    font-family: 'new-spirit', sans-serif;
    font-size: 30px;
    color: var(--secondary);
    margin-bottom: 45px;
}

.product-accessories .swiper .swiper-button-prev {
    left: 30px;
}
.product-accessories .swiper .swiper-button-next {
    right: 30px;
}
@media (max-width: 1359px) {
    .product-accessories {
        translate: calc((-100vw + 1125px) / 2) 0;
    }
}

@media (max-width: 1199px) {
    .product-accessories {
        translate: calc((-100vw + 930px) / 2) 0;
    }
}

@media (max-width: 991px) {
    .product-accessories {
        translate: calc((-100vw + 690px) / 2) 0;
        margin-top: 20px;
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .product-accessories .subtitle {
        font-size: 14px;
    }

    .product-accessories .title {
        font-size: 24px;
        margin-bottom: 25px;
    }
}

@media (max-width: 767px) {
    .product-accessories {
        translate: calc((-100vw + 510px) / 2) 0;
    }
}

@media (max-width: 575px) {
    .product-accessories {
        translate: -15px 0;
        width: 100vw;
    }
}

/* Furniture assembly modal
------------------------------- */

.furniture-assembly {
    padding: 15px;
    border: 1px solid var(--lightblue);
    border-radius: 7px;
    margin-top: 24px;
    width: 100%;
    cursor: pointer;
}

.furniture-assembly p {
    font-family: 'new-spirit', sans-serif;
    font-weight: 400;
    color: var(--secondary);
    margin-top: 0;
    margin-bottom: 4px;
}

.furniture-assembly span {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: var(--primary);
    text-decoration: underline;
}

/* .furniture-assembly-modal {
    display: none;
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.furniture-assembly-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: visible;
    padding: 30px;
}

.furniture-assembly-modal .wrapper {
    position: relative;
    background-color: white;
    border: 1px solid var(--lightblue);
    border-radius: 8px;
    width: 100%;
    max-width: 1330px;
    height: 100%;
    padding: 30px;
}

.furniture-assembly-modal .wrapper .content {
    width: 100%;
    height: 100%;
    overflow-y: auto;
}

.furniture-assembly-modal .close-modal {
    position: absolute;
    top: 15px;
    right: 15px;
    cursor: pointer;
    background-color: black;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
} */

.furniture-assembly-modal {
    background-color: rgba(0, 0, 0, 0.5);
}

.furniture-assembly-modal .modal-dialog {
    max-width: 1330px;
}

.furniture-assembly-modal .modal-header {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 1;
    border: 0;
    width: fit-content;
}

.furniture-assembly-modal .modal-header .close {
    opacity: 1;
    color: white;
    text-shadow: none;
    font-size: 30px;
}

@media (max-width: 767px) {
    .furniture-assembly-modal .modal-header .close {
        color: black;
    }
}

/* Product miniature
============================================================ */

.product-miniature .thumbnail-container {
    width: 100%;
    background-color: transparent;
    margin: 0;
    padding: 15px;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: border .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.product-miniature .thumbnail-container:hover {
    border-color: var(--lightblue);
}

.product-miniature .thumbnail-container .product-thumbnail img {
    width: 100%;
    transition: scale 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.product-miniature .thumbnail-container:hover .product-thumbnail img {
    scale: 1.1;
}

.product-miniature .thumbnail-container .product-description::after {
    display: none;
}

.product-miniature .product-description {
    background-color: transparent;
    padding: 0;
}

.product-miniature .product-title {
    margin-top: 16px;
    text-align: left;
    margin-bottom: 9px;
}

.product-miniature .product-title a {
    display: block;
    text-align: left;
    line-height: 1.2;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--secondary);
}

.product-miniature .product-price-and-shipping {
    text-align: left;
    color: var(--secondary);
    font-weight: 300;
    line-height: normal;
}

.product-miniature .regular-price {
    color: var(--secondary);
    font-size: 16px;
}

.product-miniature .price {
    font-size: 22px;
}

.product-miniature .variant-links {
    min-height: auto;
    padding-top: 0;
    margin-top: 8px;
    position: unset;
    top: unset;
    text-align: left;
    background-color: transparent;
}

.product-miniature .variants-placeholder {
    height: 30px;
}

.product-miniature .variant-links .color {
    margin: 0;
    width: 15px;
    height: 15px;
    border: 1px solid var(--secondary);
    border-radius: 4px;
}

.product-miniature .variant-links .color+.color {
    margin-left: 5px;
}

.product-miniature .count {
    bottom: 2px;
    font-weight: 600;
    color: var(--secondary);
    display: inline-block;
    margin-left: 5px;
}

.product-miniature .wishlist-button-add,
.products article .wishlist-button-add {
    position: absolute;
    opacity: 1;
    top: 30px;
    right: 30px;
    padding: 0;
    min-width: 0;
}

.product-miniature .product-dimensions {
    font-size: 14px;
    color: var(--secondary);
}

@media (max-width: 991px) {
    .product-miniature .thumbnail-container {
        padding: 0;
        border: 0;
        border-radius: 0;
    }

    .product-miniature .wishlist-button-add,
    .products article .wishlist-button-add {
        width: 30px;
        height: 30px;
        top: 8px;
        right: 8px;
    }

    .product-miniature .product-title a {
        font-size: 15px;
    }

    .product-miniature .price {
        font-size: 18px;
    }

    .product-miniature .variants-placeholder {
        height: 32px;
    }

    .product-miniature .variant-links .color {
        width: 20px;
        height: 20px;
    }

    .product-miniature .product-dimensions {
        font-size: 13px;
    }
}

/* Category page
============================================================ */

.block-category {
    margin-top: 30px;
    margin-bottom: 0;
    min-height: auto;
    text-align: center;
}

.block-category .category-subtitle {
    font-size: 16px;
    color: var(--secondary);
}

.block-category .category-title,
body.page-module-pm_advancedsearch4-seo .block-category .h1 {
    font-family: "new-spirit", sans-serif;
    font-size: 30px;
    line-height: 1em;
    color: var(--secondary);
}
body.page-module-pm_advancedsearch4-seo .block-category .h1 {
    font-weight: 400;
    text-transform: unset;
}

#subcategories {
    border: 0;
    margin-bottom: 0;
}

#subcategories .wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 15px;
}

#subcategories .subcategory {
    padding: 15px;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: border .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#subcategories .subcategory:hover {
    border-color: var(--lightblue);
}

#subcategories .subcategory-image {
    width: 100%;
    aspect-ratio: 1/0.83;
    margin-bottom: 15px;
}

#subcategories .subcategory-image .img,
#subcategories .subcategory-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#subcategories .subcategory .subcategory-image .img {
    overflow: hidden;
}

#subcategories .subcategory:hover .subcategory-image img {
    scale: 1.1;
}

#subcategories .subcategory-title {
    font-family: 'sofia-pro', sans-serif;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--secondary);
    margin: 0;
}

#subcategories .show-more-button {
    display: block;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    padding: 15px;
    min-width: 160px;
    font-size: 14px;
    line-height: 1em;
    text-transform: uppercase;
}

#subcategories .show-more-button:hover {
    background-color: var(--secondary);
}

@media (max-width: 1024px) {
    #subcategories .wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    #subcategories .wrapper {
        grid-template-columns: 1fr;
    }

    #subcategories .subcategory {
        padding: 0;
        border: 0;
        border-radius: 0;
    }
}

/* Product grid
------------------------------ */

#products .products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 15px;
}

@media (max-width: 992px) {
    #products .products {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Category description
------------------------------ */

.page-category .category-section-1 {
    font-size: 14px;
    line-height: 1.25;
}

.page-category .category-section-1 h2,
.page-category .category-section-1 h3,
.page-category .category-section-1 h4,
.page-category .category-section-1 h5,
.page-category .category-section-1 h6 {
    font-family: 'sofia-pro', sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--secondary);
}

.page-category .category-section-1 .elementor-image {
    position: relative;
}

.page-category .category-section-1 .elementor-image::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    border: 2px solid white;
    z-index: 1;
}
.page-module-pm_advancedsearch4-seo .block-category .block-category-inner {
    flex-direction: column;
}

#category .category-description, 
.page-module-pm_advancedsearch4-seo .block-category .block-category-inner #category-description {
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    line-height: 1.5em;
}

#category .category-description *,
.page-module-pm_advancedsearch4-seo .block-category .block-category-inner #category-description p {
    color: var(--secondary);
    font-weight: 300;
}

#category .category-description h1,
#category .category-description h2,
#category .category-description h3,
#category .category-description h4,
#category .category-description h5,
#category .category-description h6 {
    font-family: "sofia-pro", sans-serif;
    font-size: 16px;
    font-weight: 600;
}

#category .category-description+.read-more-toggle,
.page-module-pm_advancedsearch4-seo .block-category .block-category-inner #category-description+.read-more-toggle {
    text-align: center;
    text-transform: uppercase;
    color: var(--secondary);
}

#category .category-additional-description ul li {
    list-style: none;
    color: black;
    &> a {
        color: black;
        text-decoration: underline;
    }
}

/* Product list top
------------------------------- */

.product-list-top {
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 30px 0;
    border-width: 1px 0;
    border-style: solid;
    border-color: var(--lightblue);
    position: sticky;
    top: -1px;
    z-index: 100;
    background: white;
}

.product-list-top-wrapper {
    width: 1330px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.product-list-top .product-filter {
    display: flex;
    align-items: center;
    gap: 20px;
}

.product-list-top .filter-button {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--secondary);
    font-weight: 400;
    cursor: pointer;
}

.product-list-top .filter-button:hover {
    color: var(--primary);
}

.product-list-top .filter-button:hover svg path {
    fill: var(--primary);
}

.product-list-top .product-grid-switcher {
    display: flex;
    align-items: center;
    gap: 20px;
}

.product-list-top .product-grid-switcher .product-count {
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--secondary);
}

.product-list-top .product-grid-switcher .three-per-row,
.product-list-top .product-grid-switcher .two-per-row,
.product-list-top .product-grid-switcher .one-per-row {
    cursor: pointer;
}

.product-list-top .product-grid-switcher .three-per-row:hover svg path,
.product-list-top .product-grid-switcher .two-per-row:hover svg path,
.product-list-top .product-grid-switcher .one-per-row:hover svg path,
.product-list-top .product-grid-switcher .three-per-row.active svg path,
.product-list-top .product-grid-switcher .two-per-row.active svg path,
.product-list-top .product-grid-switcher .one-per-row.active svg path {
    fill: var(--primary);
}

@media (min-width: 993px) {
    .product-list-top .product-grid-switcher .one-per-row {
        display: none;
    }
}

@media (max-width: 992px) {
    .product-list-top .product-grid-switcher .product-count,
    .product-list-top .product-grid-switcher .three-per-row {
        display: none;
    }
}

/* Active filters
------------------------------- */

.active_filters {
    padding: 0;
    margin: 0;
    background-color: transparent;
}

.active_filters ul {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 5px;
    margin: 0;
}

.active_filters .filter-block {
    padding: 10px 12px;
    background-color: var(--extralightblue);
    border: 1px solid var(--lightblue);
    border-radius: 100px;
    font-size: 13px;
    color: var(--secondary);
    margin: 0;
}

/* Search filters
------------------------------- */

.search-filter-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.search-filter-wrapper.active {
    opacity: 1;
    visibility: visible;
}

#search_filters {
    translate: 100% 0;
    transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
    width: 100%;
    max-width: 425px;
    margin-left: auto;
    height: 100%;
    overflow: auto;
    padding: 0;
}

.search-filter-wrapper.active #search_filters {
    translate: 0 0;
}

#search_filters .filter-top {
    padding: 20px 25px;
    background-color: var(--primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#search_filters .filter-top .title {
    font-size: 23px;
    text-transform: uppercase;
}

#search_filters .filter-top .filter-close {
    cursor: pointer;
    text-transform: uppercase;
    text-decoration: underline;
}

#search_filters #_desktop_search_filters_clear_all {
    padding: 25px;
    border-bottom: 1px solid var(--lightblue);
}

#search_filters #_desktop_search_filters_clear_all button {
    margin: 0;
    padding: 0;
    border: 0;
    background-color: transparent;
    color: var(--secondary);
    cursor: pointer;
    text-decoration: underline;
    font-weight: 400;
}

#search_filters #_desktop_search_filters_clear_all .active_filters {
    margin-top: 10px;
}

#search_filters .facet,
#search_filters_brands .facet,
#search_filters_suppliers .facet {
    padding: 30px 25px;
    border-bottom: 1px solid var(--lightblue);
}

#search_filters .facet .facet-title {
    font-size: 20px;
    font-weight: 300;
    color: var(--secondary);
    margin-bottom: 15px;
}

#search_filters .facet ul,
#search_filters_brands .facet ul,
#search_filters_suppliers .facet ul {
    padding-left: 15px;
    margin: 0;
}

#search_filters .facet .facet-label a {
    width: calc(100% - 32px);
}

#search_filters .ui-widget-header {
    background-color: var(--secondary);
}

#search_filters .ui-widget-content {
    border-color: var(--secondary);
}

#search_filters .ui-slider .ui-slider-handle {
    width: 12px;
    height: 12px;
    border-color: var(--secondary);
    border-radius: 12px;
    top: -3px;
    translate: -6px 0;
}

#search_filters .facet .collapse,
#search_filters_brands .facet .collapse,
#search_filters_suppliers .facet .collapse {
    display: none;
}

#search_filters .facet .collapse.in,
#search_filters_brands .facet .collapse.in,
#search_filters_suppliers .facet .collapse.in {
    display: block;
}

#search_filters .facet .title .collapse-icons {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

#search_filters .facet .title .collapse-icons i {
    color: var(--secondary);
    rotate: 0deg;
    transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#search_filters .facet .title.collapsed .collapse-icons i {
    rotate: -90deg;
}

.facet-dropdown {
    padding: 0 !important;
    background-color: var(--extralightblue);
    border: 1px solid var(--lightblue);
    border-radius: 4px;
    box-shadow: none;
}

.facet-dropdown .select-title {
    background-color: transparent;
    padding: 8px 15px;
}

.facet-dropdown.open>.select-title {
    border: 0;
    background-color: var(--extralightblue);
}

.facet-dropdown .select-title>i {
    color: var(--secondary);
}

.facet-dropdown .dropdown-menu,
.facet-dropdown .select-list {
    background: var(--extralightblue);
}

/* Sub categories links
------------------------------- */

.category-top-menu .category-sub-menu {
    margin: 0;
}

.category-sub-menu > p {
    font-weight: 600 !important;
    font-size: 16px !important;
}

.category-top-menu .category-sub-menu + .category-sub-menu {
    margin-top: 15px;
}

.category-top-menu .category-sub-menu > div + div {
    margin-top: 5px;
}

/* ============================================================
  Read more
============================================================ */

.read-more,
.elementor-read-more,
.category-main-description {
    overflow: hidden;
    transition: height .4s ease;
}

.read-more-toggle {
    display: block;
    cursor: pointer;
    text-decoration: underline;
    margin-top: 15px;
    margin-bottom: 30px;
}

.category-main-description + .read-more-toggle {
    color: var(--primary);
    text-transform: uppercase;
}

/* Cart & checkout
============================================================ */

body#cart main,
body#checkout main {
    background-image: url('/themes/sobreal/assets/img/checkout-background.jpg');
    background-size: cover;
}

/* Toggle checkbox
============================================================ */

.toggle-checkbox {
    display: none;
}

.toggle-checkbox-slider {
    position: relative;
}

/* ellipsis */
.toggle-checkbox-slider::before {
    background: var(--extralightblue);
    border-radius: 34px;
    bottom: 0;
    content: '';
    height: 24px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    border: 1px solid #8DA6B2;
}

/* circle */
.toggle-checkbox-slider::after {
    background: #8DA6B2;
    border-radius: 50%;
    bottom: 0;
    content: '';
    height: 24px;
    right: 24px;
    margin: auto;
    position: absolute;
    top: 0;
    transition: 0.4s;
    width: 24px;
}

.toggle-switch {
    display: block;
    margin-right: 75px;
    text-align: left;
}

.toggle-checkbox:checked+.toggle-checkbox-slider::after {
    transform: translateX(24px);
}

/* ============================================================
  Tunnel de paiement
============================================================ */

body#checkout {
    background-color: #f4f4f4;
}

body#checkout .container {
    min-height: unset;
}

.media-list {
    margin: 0;
}

body#checkout .media-body {
    width: auto;
}

#checkout .card {
    border: 0;
}

#cart .product-price {
    font-size: 18px !important;
    margin-top: 10px;
    margin-bottom: 0;
    font-weight: 400;
}

#cart .product-price strong {
    font-weight: 400;
}

#cart .product-price .gift {
    font-size: 14px;
}

#cart .product-price~.product-line-info * {
    font-size: 12px;
    line-height: 12px;
}

.cart-items .cart-item .product-line-info.version {
    display: none;
}

#cart .ecotax {
    display: block;
    font-size: 13px;
    color: var(--primary);
}

.product-line-grid-right .cart-line-product-actions {
    line-height: 0;
}

.product-line-grid-right .cart-line-product-actions .remove-from-cart {
    margin-top: 0;
}

#checkout header {
    position: relative;
}

.checkout-header {
    border-bottom: 1px solid black;
    padding: 15px 0;
}

.checkout-header__wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1600px;
    padding: 0 15px;
    width: 100%;
}

.checkout-steps-wrapper {
    padding: 70px 0 30px 0;
}

.checkout-steps {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 950px;
    padding: 0 15px;
    position: relative;
    width: 100%;
}

/* .checkout-steps:after {
    border-top: 1px dashed #8BA2AD;
    bottom: 9px;
    content: "";
    height: 1px;
    left: 15px;
    position: absolute;
    width: calc(100% - 30px);
    z-index: -1;
} */

.checkout-steps__item__inner {
    position: relative;
}

.checkout-steps__item__inner p {
    color: #8BA2AD;
    font-size: 14px;
    font-weight: 600;
    left: 50%;
    position: absolute;
    text-align: center;
    top: -25px;
    transform: translateX(-50%);
    white-space: nowrap;
}

.checkout-steps__item.enabled.last .checkout-steps__item__inner p {
    color: var(--secondary);
}

.checkout-steps__item.enabled:before {
    border-top: 1px solid #8BA2AD;
    bottom: 9px;
    content: "";
    height: 1px;
    position: absolute;
    width: calc(25% - 31px);
    z-index: 0;
}

.checkout-steps__item:after {
    border-top: 1px dashed #8BA2AD;
    bottom: 9px;
    content: "";
    height: 1px;
    position: absolute;
    width: calc(25% - 31px);
    z-index: 0;
}

.checkout-steps__item.enabled .checkout-steps__dot {
    background-color: #8BA2AD;
    border-color: #8BA2AD;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="9.12" height="6.842" viewBox="0 0 9.12 6.842"><path id="Tracé_53800" data-name="Tracé 53800" d="M12.935,16.2l-2.281-2.28-1.14,1.14,3.421,3.421,5.7-5.7L17.5,11.635Z" transform="translate(-9.514 -11.635)" fill="%23fff"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

.checkout-steps__item.enabled.last .checkout-steps__dot {
    background: radial-gradient(var(--secondary) 0%, var(--secondary) 20%, white 20%);
    border-color: var(--secondary);
}

.checkout-steps>.checkout-steps__item.activate-step1.enabled:before {
    display: none;
}

.checkout-steps>.checkout-steps__item.activate-step2.enabled:before {
    left: calc(0% + 35px);
}

.checkout-steps>.checkout-steps__item.activate-step3.enabled:before {
    left: calc(25% + 21px);
}

.checkout-steps>.checkout-steps__item.activate-step4.enabled:before {
    left: calc(50% + 10px);
}

.checkout-steps>.checkout-steps__item.activate-step5.enabled:before {
    left: calc(75% - 1px);
}

.checkout-steps>.checkout-steps__item.activate-step1:after {
    left: calc(0% + 35px);
}

.checkout-steps>.checkout-steps__item.activate-step2:after {
    left: calc(25% + 21px);
}

.checkout-steps>.checkout-steps__item.activate-step3:after {
    left: calc(50% + 10px);
}

.checkout-steps>.checkout-steps__item.activate-step4:after {
    left: calc(75% - 3px);
}

.checkout-steps>.checkout-steps__item.activate-step5:after {
    display: none;
}

.checkout-steps__dot {
    background-color: white;
    border-radius: 10px;
    border: 1px solid #8BA2AD;
    display: block;
    height: 20px;
    margin: 25px auto 0 auto;
    width: 20px;
}

#cart #wrapper,
#checkout #wrapper {
    background: transparent;
    padding: 0;
}

#cart .cart-grid,
body#checkout section#content {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    padding-top: 50px;
    margin-bottom: 0;
}

body#cart .cart-grid-body,
body#checkout section#content .cart-grid-body {
    width: 66.66%;
}

body#cart .cart-grid-right,
body#checkout section#content .cart-grid-right {
    width: 33.33%;
}

body#cart .cart-grid-right.sticky,
body#checkout section#content .cart-grid-right.sticky {
    position: sticky;
    top: 30px;
}

#cart .cart-grid-body,
#cart .card {
    margin-bottom: 0;
}

.cart-grid-body:not(:has(#checkout-delivery-step.-current, #checkout-addresses-step.-current)) {
    background-color: white;
    padding: 30px;
    border-radius: 8px;
}

.cart-grid-body .card-block {
    padding: 0;
}

#cart .cart-grid-body .card-block h1 {
    border-bottom: 1px solid #ddd;
    color: var(--secondary);
    font-size: 25px;
    margin: 0 0 20px 0;
    padding-bottom: 30px;
    text-align: center;
    text-transform: unset;
}

.cart-grid-body .cart-overview {
    padding: 0;
}

.card-block.cart-summary-totals {
    padding: 15px 0;
    background-color: white;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

#cart .cart-summary {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    padding: 30px;
    border-radius: 8px;
}

#cart .cart-summary .card-block:not(.cart-summary-totals) {
    padding: 0;
}

#cart .cart-summary .cart-detailed-actions .express-checkout {
    padding-bottom: 20px;
}

#cart .cart-summary .cart-detailed-actions .express-checkout > * {
    padding: 15px 0;
    border-top: 1px solid var(--lightblue);
}

#cart .cart-items {
    list-style: none;
}

.product-line-grid {
    align-items: center;
    display: grid;
    grid-template-columns: 125px 1fr;
    gap: 30px;
}

.product-line-grid-right {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.product-line-grid > .product-line-grid-body {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 30px;
}

.cart-product-line-right {
    align-items: center;
    display: grid;
    grid-template-columns: auto auto;
    gap: 30px;
    height: 100%;
}

.product-line-info a.label {
    font-size: 16px;
    font-weight: 600;
}

.product-line-info + .product-line-info,
#cart-summary-product-list .product-line-info + .product-line-info {
    margin-top: 5px;
}

.product-line-info .label,
.product-line-info .value,
#cart-summary-product-list .product-line-info .label,
#cart-summary-product-list .product-line-info .value {
    color: black;
    font-size: 16px;
    font-weight: 300;
    line-height: 16px;
}

.product-line-info .label {
    font-weight: 500;
}

.product-line-info.product-title a.label {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--secondary);
}

#cart .product-line-info.price {
    display: none;
}

#cart .ndk-rowcustomization,
#cart .ndkCartRender-controls {
    display: none;
}

#cart .bootstrap-touchspin .input-group-btn-vertical {
    position: unset;
}

#cart input.js-cart-line-product-quantity.form-control {
    background: white;
    border: 1px solid var(--lightblue);
    border-radius: 5px;
    padding: 10px 0 !important;
    text-align: center;
    width: 3rem !important;
}

#cart .product-line-grid-left.qty {
    padding-left: 38px;
}

#cart button.btn.btn-touchspin.js-touchspin.js-increase-product-quantity.bootstrap-touchspin-up,
#cart button.btn.btn-touchspin.js-touchspin.js-decrease-product-quantity.bootstrap-touchspin-down {
    border-radius: 100%;
    background-color: white;
    color: black;
    border: 0;
    height: auto;
    top: 50%;
    left: unset;
    right: unset;
    position: absolute;
    text-align: center;
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;
    border: 1px solid var(--lightblue);
    display: flex;
    align-items: center;
    justify-content: center;
}

#cart button.btn.btn-touchspin.js-touchspin.js-increase-product-quantity.bootstrap-touchspin-up {
    translate: 8px -50%;
}

#cart button.btn.btn-touchspin.js-touchspin.js-decrease-product-quantity.bootstrap-touchspin-down {
    left: 0;
    translate: calc(-100% - 8px) -50%;
}

#cart button.btn.btn-touchspin.js-touchspin.js-increase-product-quantity.bootstrap-touchspin-up i,
#cart button.btn.btn-touchspin.js-touchspin.js-decrease-product-quantity.bootstrap-touchspin-down i {
    position: unset;
}

.product-price {
    color: black;
}

.card-block.cart-summary-totals .cart-summary-line.cart-total {
    background-color: transparent;
}

.card-block.cart-summary-totals .cart-summary-line.cart-total .label,
.card-block.cart-summary-totals .cart-summary-line.cart-total .value {
    color: var(--secondary);
    font-size: 18px;
}

.card-block.checkout {
    padding-bottom: 0;
}

.promo-code {
    position: relative;
}

.promo-code .promo-input {
    border-radius: 4px;
    border: 1px solid #ddd;
    padding: 8px 10px;
    width: 100%;
}

.block-promo .promo-code {
    padding: 0 0 15px 0;
}

.block-promo .promo-code form {
    display: flex;
}

.block-promo .promo-input+button {
    background: var(--primary);
    border-radius: 4px;
    border: 0;
    margin-left: 15px;
    margin-top: 0;
    padding: 10px;
    display: flex;
    align-items: center;
}

.block-promo .promo-input+button svg>* {
    fill: white;
}

.checkout-step:not(.-current) {
    display: none;
}

body#checkout .step-number {
    display: none !important;
}

body#checkout section.checkout-step {
    border: 0;
}

body#checkout section.checkout-step .step-title {
    position: relative;
    color: var(--secondary);
    font-size: 25px;
    text-align: center;
    text-transform: unset;
    margin-bottom: 80px;
}
body#checkout section#checkout-payment-step .step-title::after {
    content: 'Sélectionnez un mode de paiement';
    display: block;
    position: absolute;
    bottom: -50px;
    font-family: 'sofia-pro', sans-serif;
    font-size: 16px;
    font-weight: bold;
}
body#checkout section#checkout-delivery-step .step-title,
body#checkout section#checkout-addresses-step .step-title,
body#checkout section#checkout-addresses-step .billing-address-title {
    position: relative;
    padding: 30px !important;
    background-color: white;
    border: unset;
    margin-bottom: 0;
}
body#checkout section#checkout-delivery-step .step-title::after,
body#checkout section#checkout-addresses-step .step-title::after,
body#checkout section#checkout-addresses-step .billing-address-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 30px;
    width: calc(100% - 60px);
    height: 1px;
    background-color: var(--lightblue);
}

body#checkout section.checkout-step#checkout-personal-information-step .step-title {
    padding: 0 !important;
    margin-bottom: 15px;
    border: 0;
}

body#checkout section.checkout-step:not(#checkout-delivery-step):not(#checkout-addresses-step):not(#checkout-payment-step) form {
    max-width: 450px;
    margin: 0 auto !important;
}

.js-address-form {
    max-width: 450px;
    margin: 0 auto !important;
}

body#checkout section.checkout-step .js-address-form hr {
    margin-bottom: 30px;
}

body#checkout section.checkout-step form .btn,
body#checkout #checkout-payment-step #payment-confirmation .btn {
    float: none !important;
    margin: 0 auto;
    display: block;
    padding: .8rem 2.8rem;
    font-size: 14px;
}

body#checkout .cancel-address {
    margin: 10px auto;
    width: 100%;
}

body#checkout .checkout-account-toggle-wrapper {
    margin: 0 auto 40px auto;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--lightblue);
}

body#checkout .checkout-account-toggle.btn-primary {
    max-width: 250px;
    width: 100%;
    padding: 12px 24px;
    background-color: white;
    color: var(--secondary);
    border: 1px solid var(--secondary);
    flex-basis: 50%;
}

body#checkout .checkout-account-toggle.btn-primary.active {
    background-color: var(--primary);
    color: white;
    border: 1px solid var(--primary);
    border-radius: 4px;
}

body#checkout section.checkout-step .forgot-password {
    margin-bottom: 15px;
    margin-left: 0;
}

#checkout .checkout-login-create-account {
    margin-top: 17px;
    color: #8BA9B4;
}

#checkout .checkout-login-create-account a {
    color: var(--secondary);
    text-decoration: underline;
}

body#cart #header,
body#checkout #header {
    background: transparent;
    border-bottom: 0;
}

body#cart #header .header-top,
body#checkout #header .header-top {
    background: white;
}

body#checkout section.checkout-step .address-item {
    max-width: 450px;
    margin-inline: auto;
    align-items: center;
    background-color: transparent;
    border: 0;
    display: flex;
    flex: 0 1 100%;
    justify-content: space-between;
}

body#checkout section.checkout-step .address-item.selected {
    border: 0;
}

body#checkout section.checkout-step .radio-block {
    align-items: center;
    display: flex;
}

body#checkout section.checkout-step .radio-block>.custom-radio+div {
    margin-left: 15px;
}

body#checkout section.checkout-step .address {
    margin-left: 0;
    color: black;
}

body#checkout section.checkout-step .add-address {
    text-align: right;
}

body#checkout section.checkout-step .add-address a {
    color: var(--secondary);
    text-decoration: underline;
}

.checkout-address-subtitle {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.checkout-address-subtitle h2 {
    color: var(--secondary);
    font-size: 20px !important;
}

.activate-step1,
.activate-step2,
.activate-step3,
.activate-step4,
.activate-step5 {
    cursor: default;
    pointer-events: none;
}

.activate-step1.enabled,
.activate-step2.enabled,
.activate-step3.enabled,
.activate-step4.enabled,
.activate-step5.enabled {
    cursor: pointer;
    pointer-events: unset;
}

.checkout-summary-title {
    color: var(--secondary);
    font-family: 'sofia-pro' !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0;
    padding: 30px 20px;
    background-color: white;
    border-radius: 8px 8px 0 0;
}

.checkout-summary-title .material-icons {
    display: none;
}

#checkout #js-checkout-summary {
    background-color: transparent;
    margin-bottom: 0;
}

#checkout #js-checkout-summary .card-block {
    padding: 0;
}

body#checkout #cart-summary-product-list img {
    width: 100px;
}

#checkout #cart-summary-product-list .media {
    align-items: center;
    background: white;
    border-radius: 0 0 8px 8px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    overflow: visible;
    padding: 15px 30px;
}

#checkout #cart-summary-product-list .media + .media {
    margin-top: 8px;
    border-radius: 8px;
}

#checkout #cart-summary-product-list .media-left {
    flex-shrink: 0;
}

#checkout #cart-summary-product-list .media-left a {
    display: block;
    position: relative;
}

#checkout #cart-summary-product-list .media-body {
    font-weight: 600;
    padding: 0;
}

#checkout #cart-summary-product-list .media-body .product-name {
    text-transform: uppercase;
    color: var(--secondary);
}

#checkout #cart-summary-product-list .summary-option-line {
    grid-column: 1/3;
    padding: 8px 12px;
    border: 1px solid var(--lightblue);
    border-radius: 3px;
    background-color: #F7FCFF;
    color: var(--secondary);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

#checkout #cart-summary-product-list .product-quantity {
    align-items: center;
    background-color: white;
    border: 1px solid var(--primary);
    border-radius: 12px;
    color: var(--primary);
    display: flex;
    font-size: 12px;
    height: 24px;
    justify-content: center;
    position: absolute;
    right: -12px;
    top: -3px;
    width: 24px;
}

#checkout #cart-summary-product-list .product-price {
    font-size: 14px;
    margin-bottom: 0;
}

#checkout .cart-summary-subtotals-container {
    padding: 30px 30px 15px 30px !important;
}

#cart .card-block.cart-summary-totals .cart-summary-line.cart-total {
    padding: 0 !important;
}

#checkout .card-block.cart-summary-totals .cart-summary-line.cart-total {
    padding: 15px 30px 30px 30px !important;
}

body#checkout .cart-grid-right .card .cart-summary-subtotals-container {
    border: 0;
    margin-top: 8px;
    border-radius: 8px 8px 0 0;
    background-color: white;
}

body#checkout section.checkout-step .delivery-options .delivery-option {
    background-color: transparent;
    border-radius: 4px;
    border: 1px solid #d9d9d9;
    padding: 20px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 30px;
}

body#checkout section.checkout-step .delivery-options .delivery-option.active {
    background-color: #F7FCFF;
    border-color: var(--lightblue);
}

body#checkout section.checkout-step .delivery-options .delivery-option label {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-column-gap: 30px;
    grid-row-gap: 15px;
    grid-template-areas:
        "delivery-name delivery-price"
        "delivery-delay delivery-delay"
}

body#checkout section.checkout-step .delivery-options .delivery-option label .delivery-delay {
    font-size: 14px;
    font-weight: 400;
    color: black;
    grid-area: delivery-delay;
}

body#checkout section.checkout-step .delivery-options .delivery-option label .carrier {
    justify-content: flex-start;
    gap: 30px;
}

body#checkout section.checkout-step .delivery-options .delivery-option label .carrier .carrier-logo {
    width: 30px;
}

body#checkout section.checkout-step .carrier-name {
    font-size: 15px;
    font-weight: 600;
}
body#checkout section.checkout-step .carrier-price {
    text-transform: capitalize;
}

body#checkout .payment-options .payment-option-item {
    border-radius: 4px;
    border: 1px solid var(--lightblue);
    margin-bottom: 15px;
    padding: 20px;
}

body#checkout .payment-options .payment-option-item.active {
    background-color: #F7FCFF;
    border-color: var(--lightblue);
}

body#checkout section.checkout-step .payment-options .custom-radio {
    margin-right: 30px;
}

body#checkout section.checkout-step .payment-options label {
    text-align: left;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 0;
}

body#checkout section.checkout-step .payment-options .payment-option {
    margin-bottom: 0;
    display: flex;
    align-items: center;
}

body#checkout .additional-information {
    margin-left: 0;
}

body#checkout #footer {
    background-color: transparent;
    padding: 0;
}

.checkout-footer-reassurance-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 1400px;
    width: 100%;
}

.checkout-footer-reassurance-item {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 0 60px;
    position: relative;
    text-align: center;
    width: 25%;
}

.checkout-footer-reassurance-item p {
    margin-bottom: 0;
}

.checkout-footer-reassurance-wrapper>.checkout-footer-reassurance-item:not(:first-child):after {
    background-color: #484848;
    content: "";
    height: 80px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
}

.checkout-account-toggle-wrapper {
    align-items: center;
    display: flex;
    justify-content: center;
}

.checkout-account-toggle {
    margin: 0 10px;
}

.checkout-account-tab:not(.active) {
    display: none;
}

.checkout-mobile-step {
    display: none;
}

body#order-confirmation #wrapper {
    background-color: #F7F7F7;
}

body#order-confirmation section#main {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

body#order-confirmation #content-hook_order_confirmation {
    padding: 30px 50px;
    border-radius: 8px;
}

body#order-confirmation .order-confirmation-header{
    text-align: center;
}

body#order-confirmation h1 {
    font-family: 'sofia-pro' !important;
    color: var(--secondary);
    font-size: 25px;
    font-weight: 600;
    text-transform: inherit;
}

body#order-confirmation #content-hook_order_confirmation h2 {
    font-family: 'sofia-pro', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--secondary);
    margin-top: 0;
    margin-bottom: 8px;
}

body#order-confirmation #order-items .h3 {
    color: black;
    font-size: 16px;
    font-weight: 600;
    text-transform: inherit;
}

body#order-confirmation #order-details {
    padding-left: 0;
}

body#order-confirmation #order-details>.card-title {
    color: var(--secondary);
    font-family: 'sofia-pro' !important;
    font-size: 16px;
    font-weight: 600;
    text-transform: inherit;
}

body#order-confirmation .order-addresses {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

body#order-confirmation .order-addresses,
body#order-confirmation .order-reference-value,
body#order-confirmation .order-shipping-method,
body#order-confirmation .order-payment-method {
    margin-top: 40px;
}

body#order-confirmation .separator {
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--lightblue);
    margin: 40px 0;
}

.order-confirmation-detail-title {
    font-family: 'sofia-pro' !important;
    font-size: 20px !important;
    font-weight: 600;
    color: var(--secondary);
    padding: 30px 20px;
    background-color: white;
    border-radius: 8px 8px 0 0;
    margin-bottom: 0;
}

.order-confirmation-table .order-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    background: white;
    border-radius: 0 0 8px 8px;
    margin-top: 0 !important;
    padding: 20px;
}

.order-confirmation-table .order-line + .order-line {
    margin-top: 8px !important;
    border-radius: 8px;
}

.order-confirmation-table .order-line .image {
    position: relative;
    max-width: 100px;
}

.order-confirmation-table .order-line .image .quantity {
    position: absolute;
    top: 0;
    right: 0;
    translate: 50% -50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--primary);
    border-radius: 50%;
    background-color: white;
    color: var(--primary);
    font-size: 12px;
}

.order-confirmation-table .order-line .details .product-total-price {
    display: block;
    font-weight: 600;
    margin-top: 8px;
}

.order-confirmation-total-table {
    background-color: white;
    border-radius: 8px;
    margin-top: 8px;
    padding: 12px;
}

.billing-address-title {
    font-size: 25px !important;
    font-weight: 300;
    color: var(--secondary);
    text-align: center;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--lightblue);
}

.billing-address-title + .toggle-checkbox-wrapper {
    width: fit-content;
    margin: 0 auto 30px auto;
}

#cart .product-line-grid-right .cart-line-product-actions .remove-from-cart {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: var(--secondary);
}

#cart .product-line-grid-right .cart-line-product-actions .remove-from-cart::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15.4" height="17.617" viewBox="0 0 15.4 17.617"><g id="trash-2" transform="translate(-2.5 -0.883)"><path id="Tracé_38115" data-name="Tracé 38115" d="M3,6H17.4" transform="translate(0 -0.612)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path id="Tracé_38116" data-name="Tracé 38116" d="M15.4,5.123V16.055a1.525,1.525,0,0,1-1.486,1.562H6.486A1.525,1.525,0,0,1,5,16.055V5.123m2.229-1V2.562A1.525,1.525,0,0,1,8.714,1h2.971a1.525,1.525,0,0,1,1.486,1.562V4.123" transform="translate(0 0.383)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line id="Ligne_599" data-name="Ligne 599" y2="6" transform="translate(8.6 8.429)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line id="Ligne_600" data-name="Ligne 600" y2="6" transform="translate(11.8 8.429)" fill="none" stroke="%2318546a" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></g></svg>');
}

body#checkout section.checkout-step .content {
    padding-left: 0;
    padding-right: 0;
}

#cart #wrapper {
    z-index: 999;
    position: relative;
}
#cart .js-cart-line-product-quantity {
    z-index: 0;
}
@media (max-width: 991px) {
    body#cart main,
    body#checkout main {
        background: #F7F7F7;
    }

    .card {
        background-color: #fff;
    }

    #cart .cart-grid,
    body#checkout section#content {
        flex-direction: column;
        align-items: stretch;
        padding-top: 30px;
    }

    body#cart .cart-grid-body,
    body#checkout section#content .cart-grid-body,
    body#cart .cart-grid-right,
    body#checkout section#content .cart-grid-right {
        width: 100%;
    }

    #checkout #wrapper {
        padding: 0;
    }

    .checkout-steps-wrapper {
        padding: 30px 15px;
    }

    .checkout-steps {
        justify-content: center;
    }

    .checkout-steps:after,
    .checkout-steps__dot,
    .checkout-steps__item:not(.enabled.last),
    .checkout-steps>.checkout-steps__item:after,
    .checkout-steps>.checkout-steps__item:before {
        display: none;
    }

    .checkout-steps__item__inner p {
        font-size: 16px;
        margin-bottom: 0;
        position: unset;
        transform: none;
    }

    .checkout-mobile-step {
        display: inline-block;
        font-weight: 300;
    }

    #cart .cart-grid-body .card-block h1,
    body#checkout section.checkout-step .step-title,
    body#checkout section.checkout-step .billing-address-title {
        font-size: 18px;
        margin: 10px 0 20px 0;
    }
    body#checkout section#checkout-payment-step .step-title {
        margin: 10px 0 80px 0;
    }

    #cart .product-line-info a.label {
        font-size: 12px;
        line-height: 16px;
    }

    .product-line-grid-left,
    .product-line-grid-body,
    .product-line-grid-right {
        display: block;
    }

    #cart .product-price {
        font-size: 16px;
        margin-bottom: 0;
    }

    .product-line-grid-right .cart-line-product-actions .remove-from-cart i,
    .product-line-grid-right .product-price .remove-from-cart i {
        font-size: 15px;
    }

    .product-line-grid-body {
        margin-bottom: 0;
    }

    .checkout-footer-reassurance-item {
        padding: 30px 60px;
        width: 100%;
    }

    .checkout-footer-reassurance-wrapper>.checkout-footer-reassurance-item:not(:first-child):after {
        height: 1px;
        left: 50%;
        right: unset;
        top: 0;
        transform: translateX(-50%);
        width: 80%;
    }

    #checkout #content>.row {
        display: flex;
        flex-direction: column-reverse;
    }

    .checkout-summary-title {
        background-color: white;
        font-size: 18px;
        font-weight: 300;
        margin: 0;
        padding: 15px;
        text-align: center;
    }

    .checkout-summary-title .material-icons {
        display: inline-block;
        margin-left: 10px;
        transition: transform 0.3s ease;
    }

    .checkout-summary-title.active .material-icons {
        transform: rotate(-180deg);
    }

    .product-summary-toggle {
        height: 0;
        overflow: hidden;
        transition: height 0.4s ease;
    }

    #checkout #cart-summary-product-list .media,
    #checkout .cart-summary-subtotals-container,
    #checkout .card-block.cart-summary-totals .cart-summary-line.cart-total {
        padding: 15px !important;
    }

    body#checkout section.checkout-step {
        padding: 0;
    }

    body#checkout section.checkout-step.-current .step-title {
        /* display: none; */
    }

    body#checkout button[type="submit"] {
        display: block;
        float: none !important;
        margin: 0 auto;
    }

    body#order-confirmation section#main {
        grid-template-columns: 1fr;
    }

    body#order-confirmation .order-addresses {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    #cart .product-line-grid-right .cart-line-product-actions .remove-from-cart {
        justify-content: flex-end;
    }

    #cart .product-line-grid-right .cart-line-product-actions .remove-from-cart span {
        display: none;
    }

    #cart .cart-summary,
    .cart-grid-body:not(:has(#checkout-delivery-step.-current, #checkout-addresses-step.-current)),
    body#checkout section.checkout-step #js-delivery > div.form-fields,
    body#checkout section.checkout-step #js-delivery #hook-display-after-carrier,
    body#checkout section.checkout-step #js-delivery .estimated-delivery-container,
    body#checkout section.checkout-step #js-delivery .order-options {
        padding: 15px;
    }

    #cart .cart-grid-body .card-block h1 {
        margin-top: 0;
        padding-bottom: 15px;
    }

    .product-line-grid {
        display: grid;
        gap: 15px;
    }

    .product-line-grid>.product-line-grid-body {
        display: block;
    }

    #cart .cart-product-line-right {
        margin-top: 10px;
    }

    body#checkout section.checkout-step .delivery-options .delivery-option {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    body#checkout section.checkout-step .delivery-options .delivery-option .delivery-radio-button {
        display: none;
    }

    body#checkout section.checkout-step .delivery-options .delivery-option label {
        grid-template-columns: 1fr;
        grid-template-areas:
            "delivery-name"
            "delivery-price"
            "delivery-delay";
    }

    body#checkout section.checkout-step .delivery-options .delivery-option label .carrier {
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    body#checkout section.checkout-step .delivery-options .delivery-option label .delivery-name span,
    body#checkout section.checkout-step .delivery-options .delivery-option label .delivery-price {
        text-align: right;
    }
}

@media (max-width: 575px) {
    .cart-items {
        padding: 0;
    }

    body#checkout section.checkout-step .content {
        padding: 0;
    }

    body#order-confirmation .order-addresses {
        grid-template-columns: 1fr;
    }

    body#checkout .checkout-account-toggle-wrapper {
        flex-direction: column;
        gap: 10px;
    }
}

/* ============================================================
  Dashboard client
============================================================ */

/* Authentication */

.page-authentication #content {
    max-width: 800px;
    margin: 0 auto;
    padding: 50px 70px;
    background-color: white;
}

.authentication-title {
    font-family: 'Roboto', sans-serif;
    font-size: 25px;
    font-weight: 300;
    text-align: center;
    color: var(--secondary);
    padding-bottom: 35px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--lightblue);
}

.page-customer-account #content .forgot-password {
    margin-top: 0;
    text-align: right;
}

.page-customer-account #content .forgot-password a {
    color: var(--secondary);
    text-decoration: underline;
}

.page-customer-account #content .no-account {
    margin-top: 30px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
}

.page-customer-account #content .no-account p,
.page-customer-account #content .no-account a {
    font-size: 14px;
}

.page-customer-account #content .no-account p {
    color: black;
}

.page-customer-account #content .no-account a {
    color: var(--secondary);
    text-decoration: underline;
}

.page-authentication .btn-primary {
    display: block;
    margin: 0 auto;
    padding: 15px;
    min-width: 150px;
    text-align: center;
}

.page-authentication .form-group,
.page-customer-account #content .forgot-password {
    max-width: 400px;
    margin: 0 auto;
}

/* Registration */

.page-registration #content {
    max-width: 800px;
    margin: 0 auto;
    padding: 50px 70px;
    background-color: white;
}

#customer-form > div {
    display: flex;
    flex-direction: column;
    max-width: 400px;
    margin: 0 auto;
}

#customer-form .form-group:has(#field-email) {
    order:-2;
}
#customer-form .form-group:has(#field-password) {
    order:-1;
}

body#registration .custom-checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
body#registration .custom-checkbox>label {
    padding-left: 30px;
}
body#registration .custom-checkbox span {
    position: absolute;
    top: .025rem;
    left: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 15px;
    flex: 0 0 15px;
    margin-top: .1rem;
}

.js-customer-form .form-footer .form-control-comment {
    max-width: 400px;
    display: block;
    margin: 0 auto;
    padding-bottom: 3rem;
    text-align: left;
}

/* .page-registration .form-group {
    max-width: 400px;
    margin: 0 auto;
} */

/* Password */

.renew-password [type="submit"] {
    margin-left: 0;
}

.page-password #content {
    max-width: 800px;
    margin: 0 auto;
    padding: 50px 70px;
    background-color: white;
}

.page-password .form-group {
    max-width: 400px;
    margin: 0 auto;
}

.password-title {
    font-size: 25px;
    font-weight: 300;
    text-align: center;
    color: var(--secondary);
    padding-bottom: 35px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--lightblue);
}

.forgotten-password .form-fields .center-email-fields {
    display: block;
}

.forgotten-password .form-fields .email {
    max-width: 100%;
}

.forgotten-password .form-fields label.required {
    width: auto;
    text-align: left;
}

.forgotten-password .form-fields .center-email-fields button {
    margin-top: 30px !important;
    display: block;
    margin: 0 auto;
    height: auto;
}

.back-to-login {
    margin-top: 40px;
    text-align: center;
}

.back-to-login a {
    text-decoration: underline;
    text-underline-position: under;
}

/* Dashboard */

#my-account,
#authentication,
#history,
#identity,
#addresses,
#address,
#order-slip,
#discount,
#password,
#registration,
#my-account #wrapper,
#authentication #wrapper,
#history #wrapper,
#identity #wrapper,
#addresses #wrapper,
#address #wrapper,
#order-slip #wrapper,
#discount #wrapper,
#password #wrapper,
#registration #wrapper {
    background-color: #F7F7F7;
}

#history #content,
#identity #content,
#addresses #content,
#address #content,
#order-slip #content,
#discount #content {
    max-width: 800px;
    margin: 0 auto;
    padding: 50px 15px;
    border-radius: 8px;
}

#my-account #content {
    max-width: 1070px;
    margin: 0 auto;
    padding: 50px 15px 0 15px;
    border-radius: 8px;
}

#my-account #wrapper .breadcrumb {
    padding: 15px 0;
    margin-top: 0;
    margin-bottom: -50px;
    position: relative;
    z-index: 1;
}

#my-account #wrapper .breadcrumb li a,
#my-account #wrapper .breadcrumb li::after,
#my-account #wrapper .breadcrumb li:last-child {
    color: white;
}

#my-account #content {
    padding-top: 0;
}

.my-account-top {
    background-image: url('/themes/sobreal/assets/img/header-mon-compte.jpg');
    background-size: cover;
    padding-top: 250px;
    padding-bottom: 30px;
    margin-bottom: 50px;
}

.my-account-top .wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    max-width: 1070px;
    margin: 0 auto;
    padding: 0 15px;
}

.my-account-top p {
    font-family: 'new-spirit', sans-serif;
    font-size: 40px;
    line-height: 1em;
    margin-bottom: 0;
    color: white;
}

.my-account-top a {
    color: white;
    display: flex;
    align-items: center;
    gap: 8px;
}

.my-account-top a::after {
    content: url('data:image/svg+xml,<svg id="arrow-right" xmlns="http://www.w3.org/2000/svg" width="14.039" height="8.19" viewBox="0 0 14.039 8.19"><path id="Tracé_338" data-name="Tracé 338" d="M22.67,18.142a.585.585,0,0,0,.828,0l3.509-3.509a.585.585,0,0,0,0-.828L23.5,10.3a.586.586,0,0,0-.828.828l3.1,3.1-3.1,3.1a.585.585,0,0,0,0,.828Z" transform="translate(-13.14 -10.123)" fill="%23fff" fill-rule="evenodd"/><path id="Tracé_339" data-name="Tracé 339" d="M4.5,17.46a.585.585,0,0,0,.585.585H17.368a.585.585,0,0,0,0-1.17H5.085A.585.585,0,0,0,4.5,17.46Z" transform="translate(-4.5 -13.365)" fill="%23fff" fill-rule="evenodd"/></svg>');
}

.page-my-account #content .links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 25px;
}

.page-my-account #content .links a {
    padding: 40px 30px;
    margin: 0;
    border: 1px solid var(--lightblue);
    border-radius: 8px;
    background-color: white;
    text-transform: initial;
    text-align: initial;
    display: flex;
    flex-direction: column;
    width: 100%;
    background-image: url('data:image/svg+xml,<svg id="arrow-right" xmlns="http://www.w3.org/2000/svg" width="28.617" height="16.695" viewBox="0 0 28.617 16.695"><path id="Tracé_338" data-name="Tracé 338" d="M22.849,26.469a1.192,1.192,0,0,0,1.688,0l7.154-7.154a1.192,1.192,0,0,0,0-1.688l-7.154-7.154a1.194,1.194,0,0,0-1.688,1.688l6.311,6.31-6.312,6.31a1.192,1.192,0,0,0,0,1.688Z" transform="translate(-3.424 -10.123)" fill="%2318546a" fill-rule="evenodd"/><path id="Tracé_339" data-name="Tracé 339" d="M4.5,18.067A1.192,1.192,0,0,0,5.692,19.26H30.73a1.192,1.192,0,0,0,0-2.385H5.692A1.192,1.192,0,0,0,4.5,18.067Z" transform="translate(-4.5 -9.719)" fill="%2318546a" fill-rule="evenodd"/></svg>');
    background-repeat: no-repeat;
    background-position: right 25px bottom 12px;
}

.page-my-account #content .links a:hover {
    background-color: var(--extralightblue);
    background-image: url('data:image/svg+xml,<svg id="arrow-right" xmlns="http://www.w3.org/2000/svg" width="28.617" height="16.695" viewBox="0 0 28.617 16.695"><path id="Tracé_338" data-name="Tracé 338" d="M22.849,26.469a1.192,1.192,0,0,0,1.688,0l7.154-7.154a1.192,1.192,0,0,0,0-1.688l-7.154-7.154a1.194,1.194,0,0,0-1.688,1.688l6.311,6.31-6.312,6.31a1.192,1.192,0,0,0,0,1.688Z" transform="translate(-3.424 -10.123)" fill="%23178fb8" fill-rule="evenodd"/><path id="Tracé_339" data-name="Tracé 339" d="M4.5,18.067A1.192,1.192,0,0,0,5.692,19.26H30.73a1.192,1.192,0,0,0,0-2.385H5.692A1.192,1.192,0,0,0,4.5,18.067Z" transform="translate(-4.5 -9.719)" fill="%23178fb8" fill-rule="evenodd"/></svg>');
}

.page-my-account #content .links a i {
    display: none;
}

.page-my-account #content .links a span.link-item {
    background: transparent;
    width: 100%;
    height: auto;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: left;
    color: var(--secondary);
    margin-bottom: 8px;
    padding: 0;
}

.page-my-account #content .links a:hover span.link-item {
    color: var(--primary);
}

.page-my-account #content .links a span.link-content p {
    color: var(--secondary);
}

.page-my-account #content .links a span.link-btn {
    display: none;
}

#history .form-group,
#identity .form-group,
#order-slip .form-group {
    max-width: 400px;
    margin: 0 auto;
    width: 100%;
}


@media (min-width: 1071px) {
    .my-account-top {
        width: calc((100vw - var(--scrollbarWidth)));
        translate: calc(((-100vw + var(--scrollbarWidth)) + 1040px) / 2) 0;
    }
}

@media (max-width: 1199px) {
    .my-account-top {
        width: calc((100vw - var(--scrollbarWidth)));
        translate: calc(((-100vw + var(--scrollbarWidth)) + 900px) / 2) 0;
    }
}

@media (max-width: 1024px) {

    .page-authentication #content,
    .page-password #content,
    #history #content,
    #identity #content,
    #addresses #content,
    #address #content,
    #order-slip #content,
    #discount #content {
        padding: 20px 15px;
    }

    #my-account #content {
        padding: 0 15px;
    }

    .page-my-account #content .links {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .my-account-top {
        width: calc((100vw - var(--scrollbarWidth)));
        translate: calc(((-100vw + var(--scrollbarWidth)) + 660px) / 2) 0;
        padding-top: 150px;
    }

    .my-account-top p {
        font-size: 24px;
        flex-basis: 50%;
    }
}

@media (max-width: 767px) {
    .page-my-account #content .links {
        grid-template-columns: 1fr;
    }

    .my-account-top {
        width: calc((100vw - var(--scrollbarWidth)));
        translate: calc(((-100vw + var(--scrollbarWidth)) + 480px) / 2) 0;
    }
}

@media (max-width: 575px) {
    .my-account-top {
        width: calc((100vw - var(--scrollbarWidth)));
        translate: -30px 0;
    }
}

/* Page 404
============================================================ */

.page-not-found-wrapper {
    width: 100%;
    aspect-ratio: 1/0.42;
    background-image: url('/bg_404.jpg');
    background-size: cover;
}

.page-not-found-wrapper #search_widget {
    z-index: 5000;
    position: absolute;
    left: 33.33%;
    bottom: 14%;
    margin: 0;
}

.page-not-found-search-mobile {
    margin-top: 30px;
}

.page-not-found-wrapper #search_widget .search-icon,
.page-not-found-search-mobile #search_widget .search-icon {
    display: none;
}

@media (min-width: 768px) {
    .page-not-found-search-mobile {
        display: none;
    }
}

@media (max-width: 767px) {
    .page-not-found-wrapper {
        aspect-ratio: 1/0.51;
        background-image: url('/404_mobile.jpg');
    }

    .page-not-found-wrapper #search_widget {
        display: none;
    }
}

/* Landing page
============================================================ */

.as5-seo-page-footer-description .toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 1rem;
    border-bottom: 1px solid var(--lightblue);
    cursor: pointer;
    font-family: "sofia-pro", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2em;
    color: #18546A;
    &:first-child {
        border-top: 1px solid var(--lightblue);
    }
}

.as5-seo-page-footer-description .toggle::after {
    content: '';
    color: var(--primary);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0,16A16,16,0,1,1,16,32,15.978,15.978,0,0,1,0,16ZM5.914,5.914A14.264,14.264,0,0,0,26.086,26.086,14.264,14.264,0,0,0,5.914,5.914Zm10.58,15.955,5.947-5.106H7.35V15.24H22.443l-5.949-5.106,1.153-.991L25.638,16l-7.991,6.857Z" fill="%23198FB8"></path></svg>');
    margin-right: 5px;
    opacity: 0.3;
    width: 32px;
    height: 32px;
    display: block;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform: rotate(0deg);
}
.as5-seo-page-footer-description .toggle:hover:after {
    opacity: 1;
}

.as5-seo-page-footer-description .toggle.active + .content + .toggle {
    border-top: 1px solid var(--lightblue);
}


.as5-seo-page-footer-description .toggle.active::after {
    transform: rotate(90deg);
}

.as5-seo-page-footer-description .toggle + .content {
    display: none;
    padding: 1rem 2rem;
    & p {
        font-family: "sofia-pro", sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 300;
        margin-bottom: 1rem;
    }
    & h3 {
        font-family: "sofia-pro", sans-serif;
        font-size: 16px;
        font-weight: 600;
        color: var(--secondary);
    }
}

.as5-seo-page-footer-description .toggle.active + .content {
    display: block;
}

/* Page option de montage
============================================================ */

.option-montage-header-title .elementor-heading-title {
    width: fit-content;
    margin: 0 auto;
}

span.highlight-primary,
span.highlight-secondary,
span.highlight-grey {
    font-size: 20px;
}

span.highlight-primary {
    background: #04b2b1;
    color: white;
    padding: 0 8px 8px 8px;
}

span.highlight-secondary {
    background: #317b98;
    color: white;
    padding: 0 8px 8px 8px;
}

span.highlight-grey {
    background: #a1a09e;
    color: white;
    padding: 0 8px 8px 8px;
}

div[class*="montage-list-"] {
    position: relative;
}

div[class*="montage-list-"]::before {
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -50%;
    z-index: 1;
    width: 75px;
    height: 75px;
    background-color: var(--primary);
    border: 1px solid white;
    border-radius: 50%;
    font-family: 'Poppins', 'sofia-pro', sans-serif;
    font-size: 40px;
    font-weight: 400;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

.montage-list-1::before {
    content: "1";
}

.montage-list-2::before {
    content: "2";
}

.montage-list-3::before {
    content: "3";
}

.montage-list-4::before {
    content: "4";
}

div[class*="montage-list-"] strong {
    color: var(--primary);
}

.montage-number-wrapper {
    display: flex;
    align-items: baseline;
    gap: 15px;
}

.montage-number {
    display: inline-block;
    min-width: 30px;
    padding-bottom: 14px;
    font-size: 25px;
    font-weight: 600;
    color: var(--primary);
    border-bottom: 7px solid var(--primary);
}

.montage-note {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    text-decoration: underline;
}

.montage-note::before {
    content: '';
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="416.394" height="326.836" viewBox="0 0 416.394 326.836"><g id="Groupe_175183" data-name="Groupe 175183" transform="translate(0 -0.004)"><g id="Groupe_175182" data-name="Groupe 175182"><rect id="Rectangle_3256" data-name="Rectangle 3256" width="307.57" height="288.93" rx="16" transform="translate(15 22.91)" fill="%23fff"/><rect id="Rectangle_3257" data-name="Rectangle 3257" width="307.57" height="288.93" rx="16" transform="translate(15 22.91)" fill="none" stroke="%234988a2" stroke-miterlimit="10" stroke-width="30"/></g><path id="Tracé_53909" data-name="Tracé 53909" d="M232.19,183.49l-15.76,61.9s.12,12.64,12.51,4.63,54.45-31.94,54.45-31.94L412.83,38.31s12.38-13.51-9.01-27.57S377.3-3.01,365.86,8.43,232.19,183.49,232.19,183.49Z" fill="%234988a2"/><line id="Ligne_761" data-name="Ligne 761" x2="126.78" transform="translate(58.61 93.7)" fill="none" stroke="%234988a2" stroke-miterlimit="10" stroke-width="13"/><line id="Ligne_762" data-name="Ligne 762" x2="226.56" transform="translate(57.61 259.54)" fill="none" stroke="%234988a2" stroke-miterlimit="10" stroke-width="13"/><line id="Ligne_763" data-name="Ligne 763" x2="164.17" transform="translate(58.61 168.62)" fill="none" stroke="%234988a2" stroke-miterlimit="10" stroke-width="13"/></g></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 50px;
    height: 40px;
}

.montage-block strong {
    color: var(--primary);
}

.option-montage-image-forme-grise,
.option-montage-image-forme-bleu,
.option-montage-image-forme-bleu-alt {
    position: relative;
}

.option-montage-image-forme-grise::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -85px;
    left: -20px;
    width: 100%;
    max-width: 460px;
    aspect-ratio: 1/0.67;
    background-image: url('/themes/sobreal/assets/img/option-montage-image-forme-grise.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom left;
}

.option-montage-image-forme-bleu::after {
    content: '';
    display: block;
    position: absolute;
    top: -103px;
    right: -20px;
    width: 100%;
    max-width: 460px;
    aspect-ratio: 1/0.67;
    background-image: url('/themes/sobreal/assets/img/option-montage-image-forme-bleu.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top right;
}

.option-montage-image-forme-bleu-alt::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 460px;
    aspect-ratio: 1/0.67;
    background-image: url('/themes/sobreal/assets/img/option-montage-image-forme-bleu-alt.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom left;
}

@media (min-width: 769px) {
    .option-montage-header {
        display: flex;
        align-items: center;
        aspect-ratio: 1/0.3;
        background-image: url('/themes/sobreal/assets/img/montage-mobilier-header.jpg');
        background-size: cover;
        background-position: center center;  
    }

    .option-montage-header-title .elementor-heading-title {
        padding: 30px;
        background-color: rgba(124, 119, 119, 0.8);
        color: white !important;
    }
}

@media (max-width: 768px) {
    .option-montage-image-forme-grise::after,
    .option-montage-image-forme-bleu::after {
        display: none;
    }

    span.highlight-primary,
    span.highlight-secondary,
    span.highlight-grey {
        font-size: 17px;
    }

    .option-mobilier-col-reverse-responsive > .elementor-column-wrap > .elementor-widget-wrap {
        flex-direction: column-reverse;
    }

    div[class*="montage-list-"]::before {
        width: 65px;
        height: 65px;
        font-size: 35px;
    }
}

/* Home btn espace pro
============================================================ */

.home-btn-espace-pro .elementor-button-icon svg {
    width: 20px;
}

@media (max-width: 575px) {
    .home-btn-espace-pro .elementor-button {
        width: 100%;
    }
}

/* Categorie gain de place
============================================================ */

.categorie-gain-de-place {
    position: relative;
    z-index: 1;
}

/* Categorie completer selection
============================================================ */

@media (min-width: 992px) {
    .categorie-completer-selection {
        position: relative;
        z-index: 0;
    }

    .categorie-completer-selection::before {
        content: '';
        width: 300px;
        height: 300px;
        position: absolute;
        top: 0;
        right: 0;
        z-index: -1;
        translate: 0 -100%;
        background-image: url('/themes/sobreal/assets/img/categorie-completer-selection.png');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom right;
    }
}

/* Blog
============================================================ */

.blog-read-more {
    overflow: hidden;
    transition: height .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Carrier extra content
============================================================ */

.carrier-extra-content {
    border: 0 !important;
}

/* Option de montage
============================================================ */

#cart .product-line-grid .extra-option-row {
    grid-column: 1/3;
    display: grid;
    grid-template-columns: 105px 1fr auto;
    text-align: center;
    gap: 30px;
    padding: 8px 16px;
    border: 1px solid var(--lightblue);
    border-radius: 3px;
    background-color: #F7FCFF;
}

#cart .product-line-grid .extra-option-row input {
    width: 20px;
}

#cart .product-line-grid .extra-option-row .custom-control-label {
    text-align: left;
    margin: 0;
}

#cart .product-line-grid .extra-option-row .title {
    text-transform: uppercase;
    font-weight: 600;
}

#cart .product-line-grid .extra-option-row .price {
    font-weight: 600;
    color: var(--secondary);
}

@media (max-width: 767px) {
    #cart .product-line-grid .extra-option-row {
        grid-template-columns: auto 1fr;
        gap: 10px;
    }

    #cart .product-line-grid .extra-option-row .custom-control-label {
        text-align: right;
    }

    #cart .product-line-grid .extra-option-row .price {
        grid-column: 2;
        text-align: right;
    }
}

/* Estimated delivery
============================================================ */

#product .estimateddelivery {
    display: none;
}

/* Checkout 
============================================================ */

.block-promo {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--lightblue);
}

.block-promo .block-promo {
    margin: 0;
    border: 0;
    padding: 0;
}

.block-promo .promo-name .cart-summary-line span.label {
    color: black;
    font-weight: 600;
}

.block-promo .promo-name .cart-summary-line span.description {
    color: black;
    font-weight: 400;
}

.block-promo .promo-name .cart-summary-line span.value {
    color: black;
}

.radio-inline:not(:last-of-type) {
    margin-right: 1rem;
}

#customer-form label[for="field-firstname"] + .js-input-column + .form-control-comment,
#customer-form label[for="field-lastname"] + .js-input-column + .form-control-comment,
#customer-form label[for="field-company"] + .js-input-column + .form-control-comment,
#customer-form label[for="field-siret"] + .js-input-column + .form-control-comment,
#customer-form label[for="field-firstname"] + .js-input-column .form-control-comment,
#customer-form label[for="field-lastname"] + .js-input-column .form-control-comment,
#customer-form label[for="field-company"] + .js-input-column .form-control-comment,
#customer-form label[for="field-siret"] + .js-input-column .form-control-comment {
    display: none;
}

.js-address-form .form-fields {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    justify-content: space-between;
}
.js-address-form .form-group {
    width: 100%;
}
.js-address-form .form-group:has(#field-postcode){
    width: calc(33% - .5em);
}
.js-address-form .form-group:has(#field-city)  {
    width: calc(67% - .5em);
}

/* Shtt Carrier Block
============================================================ */

#product .shtt-carrier-block {
    border: 1px solid var(--lightblue);
    margin-top: 24px;
}

.shtt-carrier-block {
    width: 100%;
    margin-top: 8px;
    padding: 15px;
    border-radius: 8px;
    background-color: white;
}

.shtt-carrier-block .title {
    display: block;
    font-family: 'new-spirit', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--secondary);
    margin-bottom: 4px;
}

.shtt-carrier-block .description {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
    color: var(--secondary);
    font-weight: 400;
}

.shtt-carrier-block .link {
    border: 0;
    background-color: transparent;
    color: var(--primary);
    font-size: 13px;
    font-weight: 400;
    text-decoration: underline;
    padding: 0;
    cursor: pointer;
}

.shtt-carrier-popover::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}

.shtt-carrier-popover {
    border: 1px solid var(--lightblue);
    border-radius: 8px;
    background: white;
    padding: 60px 30px 30px 30px;
    width: calc(100% - 30px);
    max-width: 900px;
    max-height: 90vh;
    overflow-y: auto;
}

.shtt-carrier-popover .title {
    display: block;
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 8px;
    color: var(--secondary);
}

.shtt-carrier-popover .description {
    display: block;
    font-size: 14px;
    margin-bottom: 24px;
}

.shtt-carrier-popover .item {
    display: grid;
    grid-template-columns: 30px 1fr auto;
    column-gap: 30px;
    row-gap: 15px;
    align-items: center;
    width: 100%;
    padding: 30px 20px;
    border: 1px solid var(--lightblue);
    border-radius: 8px;
}

.shtt-carrier-popover .item + .item {
    margin-top: 8px;
}

.shtt-carrier-popover .item .logo {
    aspect-ratio: 1;
}

.shtt-carrier-popover .item .logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shtt-carrier-popover .item .name {
    display: block;
    font-weight: 600;
    color: var(--secondary);
    margin-bottom: 8px;
}

.shtt-carrier-popover .item .price {
    font-size: 14px;
    font-weight: 600;
    color: var(--secondary);
}

.shtt-carrier-popover .item .description {
    display: block;
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 0;
    grid-column: 1/3;
}

.shtt-carrier-popover-close {
    position: absolute;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="23.019" height="23.019" viewBox="0 0 23.019 23.019"><path id="Description" d="M11.4-11.521v-7.216H9.635v7.216H2.378v1.763H9.635v7.3H11.4v-7.3h7.257v-1.763Z" transform="translate(-3.421 11.568) rotate(45)" fill="%2318546a"/></svg>');
    width: 30px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    top: 15px;
    right: 15px;
    cursor: pointer;
    padding: 0;
    border: 0;
}

@media (max-width: 767px) {
    .shtt-carrier-popover .item {
        padding: 12px;
        grid-template-columns: 30px 1fr;
        gap: 10px;
    }

    .shtt-carrier-popover .item .name,
    .shtt-carrier-popover .item .price {
        text-align: right;
    }

    .shtt-carrier-popover .item .name {
        margin-bottom: 0;
    }

    .shtt-carrier-popover .item .price {
        grid-column: 1/3;
    }

    .shtt-carrier-popover-close {
        width: 20px;
        height: 20px;
    }
}


/* Page compte
============================================================ */

#my-account .links #discounts-link {
    display: none;
}

/* Floapay checkout
============================================================ */
body#checkout .payment-options .payment-option-item:has(.floapay-x10) {
    padding-top: 15px;
    padding-bottom: 15px;
}
span.floapay-x10 {
    font-weight: bold;
    font-size: 14px;
    color: white;
    background-color: var(--primary);
    width: 30px;
    height: 30px;
    border-radius: 15px;
    padding-top: 4px;
    text-align: center;
}†

#fl-payment-options .fl-payment-form .fl-form-top .fl-payment-method {
    flex-wrap: nowrap;
}

body#checkout .payment-options .payment-option-item:has(.wirepayment-logo) {
    padding-top: 18px;
    padding-bottom: 18px;
}
span.wirepayment-logo {
    font-size: 16px;
    line-height: 16px;
    font-weight: bold;
    color: var(--primary);
}

/* select checkout
============================================================ */


#js-delivery > div.estimated-delivery-container > div > div:nth-child(2) > select {
    /* remove native arrow and set custom one */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14.928" height="8.534" viewBox="0 0 14.928 8.534"><path id="Icon_ionic-ios-arrow-back" data-name="Icon ionic-ios-arrow-back" d="M2.573,7.462,8.221,1.818A1.067,1.067,0,0,0,6.71.312L.311,6.706A1.065,1.065,0,0,0,.28,8.177l6.426,6.439A1.067,1.067,0,0,0,8.216,13.11Z" transform="translate(0 8.534) rotate(-90)" fill="18546a"/></svg>');
    background-repeat: no-repeat;
    background-position: right 15px center;   /* move arrow left/right & vertically center */
    background-size: 12px 12px;               /* control arrow size */
    padding: 11px 15px;
    width: 100%;
    max-width: 365px;
}

/* paypal fix logo
============================================================ */
.payment-option-item .paypal-marks .paypal-mark {
    border: unset;
    border-radius: unset;
    margin: unset;
    padding: unset;
}

.alert-payment-error {
    display: flex;
    justify-content: center;
    margin-bottom: 0;
    padding-bottom: 0;
}†
.alert-payment-error img {
    border-radius: 8px;
}

body.ce-kit-1 .elementor-accordion a h2,
body.ce-kit-1 .elementor-accordion a h3 {
    font-family: "sofia-pro", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2em;
}

/* checkout */
body#checkout section.checkout-step {
    padding: 0;
    background-color: unset;
}

body#checkout section.checkout-step .step-title {
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}
body#checkout section.checkout-step .content {
    padding: 0;
}
body#checkout section.checkout-step #js-delivery > div:nth-child(1) {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
body#checkout section.checkout-step #js-delivery > div {
    padding: 30px;
    background-color: white;
    margin-top: 0;
    margin-bottom: 40px;
    border-radius: 8px;
}

/* order comment */
body#checkout .order-options #delivery .delivery-message-container {
    border-radius: 8px;
    padding: 5px;
    border: 1px solid var(--lightblue);
    & #delivery_message {
        border: 0;
        margin: 0;
        padding: .5rem;
    }
}

body#checkout .order-options #delivery .form-control-comment {
    margin-left: auto;
    display: block;
    width: fit-content;
    font-weight: bold;
    padding: 0;
}

/* checkout address */
body#checkout #checkout-addresses-step { 
    & .js-address-form {
        max-width: unset;
        .checkout-address-subtitle {
            padding: 0 80px;
            padding-top: 10px;
            background-color: white;
            &:nth-child(n+2) {
                margin-top: 40px;
                border-top-left-radius: 8px;
                border-top-right-radius: 8px;
            }
        }
        & hr {
            display: none;
        }
        & .add-address {
            background-color: white;
            margin-top: 0;
            margin-bottom: 0;
            padding: 30px;
            &>a {
                max-width: 450px;
                margin: 0 auto;
                display: block;
            }
        }
        & #delivery-addresses,
        & #invoice-addresses {
            margin-bottom: 0;
            margin-top: 0;
            padding: 30px;
            background-color: white;
            border-bottom-left-radius: 8px;
            border-bottom-right-radius: 8px;
            &>article {
                max-width: 450px;
                margin: 0 auto;
            }
        }
        & .billing-address-title {
            border-top-left-radius: 8px;
            border-top-right-radius: 8px;
            margin-top: 40px;
            margin-bottom: 0;
            padding: 30px;
            background-color: white;
        }
        & .toggle-checkbox-wrapper {
            border-bottom-left-radius: 8px;
            border-bottom-right-radius: 8px;
            width: unset;
            margin: 0;
            background-color: white;
            padding: 30px;
            & .toggle-checkbox-slider {
                margin: 0 auto;
                display: block;
                width: fit-content;
            }
        }
        & button[type="submit"] {
            margin-top: 40px;
        }
        & #invoice-address {
            margin: 0;
            padding: 30px;
            background-color: white;
            border-bottom-left-radius: 8px;
            border-bottom-right-radius: 8px;
            &>.js-address-form {
                padding: 0;
                max-width: 450px;
                margin: 0 auto;
            }
        }
        & form {
            margin: 0;
            padding: 0;
            &:not(.full) {
                padding: 30px;
                background-color: white;
                border-bottom-left-radius: 8px;
                border-bottom-right-radius: 8px;
            }
            & #delivery-address {
                margin: 0 auto;
                max-width: 450px;
            }
        }
    }
    & .js-address-error {
        margin-top: 40px;
        border-radius: 8px;
    }
}

/* Correction label cart summary */
.cart-grid-body:has(#checkout-delivery-step.-current, #checkout-delivery-step.-complete) + .cart-grid-right .product-summary-toggle .cart-summary-line#cart-subtotal-shipping .label #estimated,
.cart-grid-body:has(#checkout-delivery-step.-current, #checkout-delivery-step.-complete) + .cart-grid-right .shtt-carrier-block .title {
    display: none;
}
.cart-grid-body:not(:has(#checkout-delivery-step.-current, #checkout-delivery-step.-complete)) + .cart-grid-right .product-summary-toggle .cart-summary-line#cart-subtotal-shipping .label #selected {
    display: none;
}

/* Order confirmation card */
body#order-confirmation .order-shipping-method-container {
    display: flex;
    gap: 1rem;
    & .card {
        background-color: white;
        border-radius: 8px;
        padding: 1rem;
        margin-bottom: 30px;
        margin-top: 5px;
        border: 1px solid var(--lightblue);
        & .card-body {
            display: flex;
            justify-content: space-between;
            gap: 1rem;
        }
        & .carrier-logo {
            object-fit: contain;
            object-position: top center;
            width: 30px;
        }
        & .title,
        & .order-shipping-cost {
            font-family: 'sofia-pro', sans-serif;
            font-size: 14px;
            font-weight: 600;
            color: var(--secondary);
        }
        & .title {
            font-size: 18px;
        }
        & .delay,
        & .order-estimated-delivery {
            font-family: 'sofia-pro', sans-serif;
            font-size: 11px;
            font-weight: 400;
            color: var(--secondary);
            margin-top: 1rem;
            line-height: 14px;
        }
        & .order-shipping-cost {
            align-self: end;
            margin-bottom: 0;
        }
    }
}
@media (max-width: 1200px) {
    body#order-confirmation .order-shipping-method-container .order-shipping-method:has(.order-estimated-delivery) {
        display: none;
    }
    
}
body#order-confirmation .order-payment-method {
    & > .card {
        background-color: white;
        border-radius: 8px;
        padding: 1.5rem;
        margin-bottom: 30px;
        margin-top: 5px;
        border: 1px solid var(--lightblue);
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        grid-template-areas: 
            "title logo"
            "description description";
        gap: 0 2rem;
        width: fit-content;
        
        & > p {
            font-family: 'sofia-pro', sans-serif;
            font-size: 14px;
            font-weight: 600;
            color: var(--secondary);
            margin: 0;
        }
        & > .definition-list {
            grid-area: description;
            margin-top: 2rem;
        }
    }
}
body#cart .cart-line-product-actions > .elementor {
    display: none;
}
/* add to wishlist button */
body#cart .wishlist-button-container {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 12px;
    color: var(--secondary);
    gap: 10px;
    margin-top: 10px;
    & .wishlist-button-add {
        all: unset;
        cursor: pointer;
        width: 17px;
        height: 17px;
        display: block;
        & .material-icons {
            font-size: 17px;
        }
    }
    @media (max-width: 768px) {
        justify-content: flex-end;
        & > span {
            display: none;
        }
    }
}

/* Footer */
body:not(#cart, #checkout) #footer section .footer-reassurance-wrapper .elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-inner-section {
    width: fit-content;
}
body:not(#cart, #checkout) #footer > div > div.elementor > div > section.elementor-element.elementor-element-ba0a39f.footer-reassurance.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section > div > div > div > div > div {
    justify-content: space-around;
    gap: 1rem;
}

/* Form address */
.js-address-form .form-group:has(.js-input-column #field-alias),
/* .js-address-form .form-group:has(#use_same_address), */
body#checkout section.checkout-step .address-alias{
    display: none;
}
.js-address-form .form-group:has(.js-input-column input[name="id_gender"]) {
    order: -1;
}

/* h3 montage */
section.elementor-element.elementor-element-dd0032f.montage-block.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section > div > div > div > div > div > div.elementor-element.elementor-element-fb10f34.elementor-widget.elementor-widget-heading > div > h3 {
    color: var(--secondary);
}


/* Style use_same_address */
.js-address-form .form-group input#use_same_address {
    display: none;
}
.js-address-form label[for="use_same_address"] {
    position: relative;
    padding-right: 75px;
}
.js-address-form label[for="use_same_address"]::before {
    background: var(--extralightblue);
    border-radius: 34px;
    bottom: 0;
    content: '';
    height: 24px;
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    border: 1px solid #8DA6B2;
}
.js-address-form #use_same_address:not(:checked) + label[for="use_same_address"]::after {
    transform: translateX(24px);
}
.js-address-form label[for="use_same_address"]::after {
    background: #8DA6B2;
    border-radius: 50%;
    bottom: 0;
    content: '';
    height: 24px;
    right: 24px;
    position: absolute;
    top: 0;
    transition: 0.4s;
    width: 24px;
}

.shttblog__content p,
.shttblog__content ul,
.shttblog__content ol {
    margin-bottom: 0;
}

body#contact .file_type_des {
    display: none;
}

/* Address billing */
body#checkout #checkout-addresses-step {
    & #delivery-address .form-footer.hide {
        display: none;
    }
    & .billing-address-section {
        display: none;
        &.active {
            display: block;
        }
        & .js-address-form > form {
            padding: 0;
        }
        & .form-footer {
            display: none;
        }
    }
    & .form-footer:has(#submit_both_address) {
        display: none;
        &.active {
            display: block;
        }
        & #submit_both_address {
            float: none !important;
            margin: 0 auto;
            margin-top: 2rem;
            display: block;
            padding: .8rem 2.8rem;
            font-size: 14px;
        }
    }
}

/* Definition list */
.definition-list dl dd,
.definition-list dl dt {
    margin: 0;
    flex: 0 0 50%;
    border: 2px solid #fff;
}