
/* ---------------------------- GÉNÉRAL ---------------------------- */

#index #wrapper {
    padding-top: 0px !important;
    position: relative;
    overflow-x: hidden;
}

#index .container:not(#header .container):not(#footer .container) {
    max-width: unset;
}

#index .container .elementor .elementor-section-wrap > section:not(#offer) {
    max-width: 1660px;
    margin-inline: auto;
    padding-inline: 36px;
}

/* ---------------------------- REASSURANCE ---------------------------- */

#indexReassurance .elementor-row{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px 20px !important;
}

#indexReassurance .elementor-row .elementor-column{
    width: 200px !important;
}

#indexReassurance .elementor-icon-box-icon{
    margin-bottom: 0px;
}

#indexReassurance .elementor-icon{
    color: var(--color-primary);
}

#indexReassurance .elementor-icon-box-title{
    margin: 0px;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 600;
}

#indexReassurance .elementor-icon-box-description{
    margin-top: 5px;
}

@media (max-width: 768px) {
    #indexReassurance .elementor-row .elementor-column{
        width: 150px !important;
    }
}

/* ---------------------------- HEADER - SECTION - DÉBUT ---------------------------- */

#index .container:has(#headerTop) {
    position: static;
}

#headerTop {
    margin-top: 22px;
    position: static;
    height: 30vw;
}

#headerTop::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}

#headerTop h1 {
    margin-bottom: 22px;
}

#headerTop .elementor-widget-text-editor > .elementor-widget-container > p {
    font-family: var(--ffMRe);
    font-size: .9375rem;
    line-height: 1.5625rem;
}

#headerTop .ce-widgets-space--gap>.elementor-column-wrap>.elementor-widget-wrap {
    gap: 42px;
}

#headerTop .elementor-column.elementor-col-50:first-child {
    width: 30%;
    margin-top: 5%;
}

#headerTop .elementor-column.elementor-col-50:last-child {
    width: 52.5vw;
    position: absolute;
    right: -17px;
    padding: 20px 16px;
    border: 1px solid var(--color-black);
    background-image: url(../../img/background/background.png);
    background-size: cover;
    background-repeat: no-repeat;
}

#headerTop .elementor-widget-image img {
    aspect-ratio: 1397 / 777;
    height: auto;
    width: 100%;
    object-fit: cover;
}

#index .container #content-wrapper {
    position: static;
}

#index .elementor-section#headerTop > .elementor-container {
    position: static;
    height: 100%;
}

#headerTop .badgeContainer {
    position: absolute;
    bottom: 4vw;
    width: 100vw;
    left: -50vw;
}

#headerTop .badgeContainer::before {
    position: absolute;
    content:"";
    bottom: -35px;
    background-image: url(../../img/logosIcons/badgeText.png);
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
    font-family: var(--ffMSeBo);
    font-size: .5625rem;
    text-transform: uppercase;
    line-height: 11px;
    aspect-ratio: 1/1;
    right: 36vw;
    height: 102px;
    z-index: 2;
}

#headerTop .badgeContainer::after {
    content: "";
    position: absolute;
    bottom: -35px;
    background-image: url(../../img/background/circle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-family: var(--ffMSeBo);
    font-size: .5625rem;
    text-transform: uppercase;
    line-height: 11px;
    aspect-ratio: 1/1;
    right: 36vw;
    height: 102px;
}

@media (width < 2101px) {
    #headerTop .badgeContainer {
        bottom: 0vw;
        left: -47.5vw;
    }
}

@media (width < 1921px) {
    #headerTop {
        height: 37.75vw;
        padding-left: 103px;
    }

    #headerTop .elementor-widget-image img {
        aspect-ratio: 1107/777;
    }

    #index .container .elementor .elementor-section-wrap > section#headerTop {
        max-width: 1660px;
        margin-inline: auto;
        padding-inline: unset;
    }

    #headerTop .badgeContainer {
        bottom: 5vw;
        left: -45vw;
    }
}

@media (width < 1701px) {
    #headerTop .badgeContainer {
        bottom: 2vw;
        left: -42.5vw;
    }
}

@media (width < 1651px) {
    #headerTop .elementor-column.elementor-col-50:first-child {
        width: 33%;
    }

    #headerTop .badgeContainer {
        left: -35vw;
    }
}

@media (width < 1501px) {
    #headerTop .elementor-column.elementor-col-50:first-child {
        width: 40%;
    }
}

@media (width < 1440px) {
    #headerTop .elementor-column.elementor-col-50:first-child {
        width: 38vw;
    }

    #headerTop .badgeContainer {
        left: -30vw;
        bottom: 1vw;
    }
}

@media (width < 1341px) {
    #headerTop .badgeContainer {
        display: none;
    }
}

@media (width < 1201px) {
    #headerTop .elementor-column.elementor-col-50:first-child {
        width: 45vw;
    }

    #headerTop .elementor-column.elementor-col-50:last-child {
        right: -56px;
    }
}

@media (width < 1025px) {
    #headerTop .elementor-column.elementor-col-50:last-child {
        right: -17px;
        width: 60vw !important;
    }

    #headerTop .elementor-widget-image img {
        aspect-ratio: 322 / 330;
    }

    #headerTop h1 {
        font-size: 2rem;
        line-height: 2.375rem;
    }

    #headerTop {
        height: calc(60vw + 21px);
    }

    #headerTop .elementor-column.elementor-col-50:first-child {
        width: 35vw !important;
        margin-top: unset;
    }

    #headerTop .ce-widgets-space--gap>.elementor-column-wrap>.elementor-widget-wrap {
        margin-block: auto;
    }
}

@media (width < 769px) {
    #headerTop .elementor-row:has(> .elementor-column.elementor-col-50) {
        display: flex;
        flex-direction: column-reverse;
        gap: 24px!important;
    }

    #headerTop .elementor-column.elementor-col-50:last-child {
        position: static;
        right: unset;
    }

    #headerTop .elementor-column.elementor-col-50:first-child,
    #headerTop .elementor-column.elementor-col-50:last-child {
        width: 100% !important;
    }

    #headerTop .elementor-column.elementor-col-50:last-child {
       padding: 10px 8px;
    }

    #headerTop h1 {
        margin-bottom: 4px;
    }

    #headerTop .ce-widgets-space--gap>.elementor-column-wrap>.elementor-widget-wrap {
        gap: 20px;
    }

    #headerTop {
        height: fit-content;
        margin-top: 14px;
    }

    #headerTop .ce-widgets-space--gap>.elementor-column-wrap>.elementor-widget-wrap>.elementor-element:has(.elementor-button span) {
        margin-bottom: 170px;
    }

    #headerTop .badgeContainer {
        display: block;
        left: calc(0vw - 35px);
        bottom: -15px;
    }

    #headerTop .badgeContainer::before,
    #headerTop .badgeContainer::after {
        right: calc(50vw - 35px);
    }

    #headerTop .badgeContainer::before,
    #headerTop .badgeContainer::after {
        width: 70px;
        height: 70px;
        bottom: -20px;
    }
}

/* ---------------------------- HEADER - SECTION - FIN ---------------------------- */


/* ---------------------------- GIFTS - SECTION - DÉBUT ---------------------------- */

#index #gifts {
    display: none;
}

#gifts {
    margin-block: 117px 68px;
}

#gifts .ce-widgets-space--gap>.elementor-column-wrap>.elementor-widget-wrap {
    gap: 50px;
}

#gifts .elementor-widget-button .elementor-button {
    margin-inline: auto;
    padding-inline: 39px;
}

#gifts .ce-product-grid {
    gap: 25px;
    align-content: stretch;
}

#gifts .elementor-element .elementor-widget-container {
    padding-left: 138px;
}

#gifts h2 {
    margin-bottom: 39px;
}

.elementor-inner-section.buttonContainer .elementor-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px!important;
}

@media (width < 1441px) {
    #gifts .elementor-element .elementor-widget-container {
        padding-left: 5%;
    }
}

@media (width < 1201px) {
    #gifts {
        padding-inline: unset!important;
    }

    #gifts .elementor-element .elementor-widget-container {
        padding-left: 2.5%;
    }
}

@media (width < 1025px) {
    #gifts .ce-product-grid {
        gap: 20px;
    }

    .elementor-inner-section.buttonContainer .elementor-row {
        flex-wrap: wrap;
        gap: 20px!important;
    }
}

@media (width < 769px) {
    #gifts {
        margin-top: 150px;
    }
    
    #gifts h2 {
        text-transform: uppercase;
        text-align: center;
        font-size: 1.875rem;
        line-height: 2.25rem;
        margin-bottom: 37px;
    }

    #gifts .elementor-element .elementor-widget-container {
        padding-left: unset;
    }

    #gifts .ce-product-grid {
        gap: 46px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #gifts {
        margin-bottom: 75px;
    }
}

@media (width < 577px) {
    #gifts .ce-product-grid {
        grid-template-columns: 1fr;
    }

    #gifts .elementor-widget-button .elementor-button {
        width: 100%;
    }
}

/* ---------------------------- GIFTS - SECTION - FIN ---------------------------- */


/* ---------------------------- OFFERS - SECTION - DÉBUT ---------------------------- */

#index #offer {
    margin-top: 117px;
}

#offer {
    background-color: var(--color-light-grey);
    margin-inline: -36px;
    padding-block: 81px;
}

.elementor-section#offer .elementor-container {
    max-width: 1660px;
    margin-inline: auto;
    padding-inline: 36px;
}

#offer .elementor-widget-image img {
    aspect-ratio: 569/738;
    width: 100%;
    height: auto;
    object-fit: cover;
    padding: 20px;
    border: 1px solid var(--color-black);
    background-image: url(../../img/background/backgroundOffers.png);
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
}

#offer > .elementor-container > .elementor-row {
    column-gap: 138px!important;
    display: flex;
    align-items: center;
    padding-inline: 138px;
}

#offer h2 {
    font-size: 2.1875rem;
    line-height: 2.8125rem;
    margin-bottom: 1.6875rem;
}

#offer .elementor-element .elementor-widget-container p {
    margin-bottom: unset;
    font-size: .9375rem;
    line-height: 1.5625rem;
}

#offer .ce-widgets-space--gap>.elementor-column-wrap>.elementor-widget-wrap {
    gap: 54px;
}

#offer .elementor-column.elementor-col-50:last-child {
    width: 42%;
}

.elementor-section#offer .buttonContainer > .elementor-container {
    padding-inline: unset;
}

#offer .elementor-inner-section.buttonContainer .elementor-row {
    flex-direction: column;
}

#offer .elementor-inner-section.buttonContainer > .elementor-container > .elementor-row > .elementor-column.elementor-col-50 {
    width: 100%;
}

@media (width < 1441px) {
    #offer > .elementor-container > .elementor-row {
        padding-inline: calc(36px + 5%);
        column-gap: 88px !important;
    }

    #offer .elementor-widget-image img {
        aspect-ratio: 527/770;
    }
}

@media (width < 1201px) {
    #offer .elementor-column.elementor-col-50:last-child {
        width: 52%;
    }

    #offer > .elementor-container > .elementor-row {
        padding-inline: 5%;
        column-gap: 58px !important;
    }
}


@media (width < 1025px) {
    #offer > .elementor-container > .elementor-row {
        padding-inline: 0%;
        flex-wrap: nowrap;
    }

    #offer h2 {
        font-size: 2rem;
        line-height: 2.5rem;
        margin-bottom: 28px;
    }

    #offer .ce-widgets-space--gap>.elementor-column-wrap>.elementor-widget-wrap {
        gap: 52px;
    }

    .elementor-section#offer .elementor-container {
        padding-inline: 36px 54px;
    }

    #offer .elementor-widget-image img {
        padding: 15px 13px;
        aspect-ratio: unset;
    }

    #offer .elementor-column.elementor-col-50:first-child,
    #offer .ce-widgets-space--gap.elementor-col-50:first-child>.elementor-column-wrap>.elementor-widget-wrap>.elementor-widget,
    #offer .elementor-element.elementor-col-50:first-child .elementor-widget-container,
    #offer .elementor-widget-image img {
        height: fit-content;
    }

    #offer .elementor-column.elementor-col-50:last-child {
        padding-block: 5%;
    }

    #offer .elementor-inner-section.buttonContainer .elementor-row {
        flex-wrap: nowrap;
        gap: unset;
    }

    #offer .buttonContainer .elementor-column.elementor-col-50:last-child {
        padding-block: unset;
    }
}

@media (width < 769px) {
    #index #offer {
        margin-top: 150px;
    }
    
    .elementor-section#offer .elementor-container {
        padding-inline: 23px;
    }

    #offer .elementor-widget-image img {
        aspect-ratio: 347/605;
    }

    #offer .elementor-column.elementor-col-50:last-child {
        padding-block: unset;
        height: fit-content;
        min-height: unset
    }

    #offer > .elementor-container > .elementor-row {
        flex-direction: column-reverse;
        gap: 62px!important;
    }

    #offer {
        padding-block: 61px 53px;
    }

    #offer h2 {
        margin-right: -10px;
    }

    #offer .elementor-column.elementor-col-50:last-child {
        padding-inline: 12px;
    }

    #offer .buttonContainer .elementor-column.elementor-col-50:last-child {
        padding-inline: unset;
    }
}

@media (width < 577px) {
    #offer .elementor-widget-image img {
        aspect-ratio: 347/605;
    }
}

/* ---------------------------- OFFERS - SECTION - FIN ---------------------------- */