@import url('/mon-compte/assets/fonts/poppins/font.css');

@font-face {
    font-family: 'Cooper-Black';
    src: url('/assets/fonts/Cooper-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --basicColor1: #194E2B;
    --basicColor2: #A7C8A1;
    --basicColor3: #F8F3EB;
    --borderGrey: #e0e7ff;
    --borderLightGrey: #e5e7eb;
    --mainShadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    --bg-page: #f3f4f6;
    --colorText: #323232FF;
    --basicWhite: #ffff;
    --basicBlack: #1F1F1F;
    --basicColorLight: #cccccc;
    --smallRadius: 10px;
    --mediumRadius: 20px;
    --basicRadius: 30px;
    --defaultSpacing: calc(2.5em * 2);
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    font-size: 20px;
}

body * {
    margin: 0;
    font-family: "Poppins", sans-serif;
    box-sizing: border-box;
}

body {
    background-color: var(--basicColor3);
    margin: 0 auto;
    color: var(--basicBlack);
    max-width: 1920px;
    -webkit-box-shadow: 0px 0px 42px 44px rgba(0, 0, 0, 0.09);
    box-shadow: 0px 0px 42px 44px rgba(0, 0, 0, 0.09);
}

a {
    text-decoration: none;
    font-size: 1em;
    font-weight: 400;
}

p {
    line-height: 1.4;
}

p a {
    font-weight: 400;
}

.bigSpacing {
    padding: calc(var(--defaultSpacing) / 2) var(--defaultSpacing);
}

.bigSpacingSide {
    padding: 0 var(--defaultSpacing);
}

.bigSpacingTopBottom {
    padding: calc(var(--defaultSpacing) / 2) 0
}

.smallUniformSpacing {
    max-width: 1250px;
    margin: 0 auto;
}

.uniformSpacing {
    max-width: 1650px;
    margin: 0 auto;
}

.bigUniformSpacing {
    max-width: 1800px;
    margin: 0 auto;
}

.bigUniformSpacing {
    max-width: 1920px;
    margin: 0 auto;
}

.widthText600 {
    max-width: 600px !important;
    width: 100% !important;
}

.widthText750 {
    max-width: 750px !important;
    width: 100% !important;
}

.widthText800 {
    max-width: 800px !important;
    width: 100% !important;
}

.widthText1100 {
    max-width: 1100px !important;
    width: 100% !important;
}

.widthText1200 {
    max-width: 1200px !important;
    width: 100% !important;
}

.widthText1400 {
    max-width: 1400px !important;
    width: 100% !important;
}

.widthText1500 {
    max-width: 1500px !important;
    width: 100% !important;
}

.widthText600 {
    max-width: 600px !important;
    width: 100% !important;
}

.widthText750 {
    max-width: 750px !important;
    width: 100% !important;
}

.widthText800 {
    max-width: 800px !important;
    width: 100% !important;
}

.widthText900 {
    max-width: 900px !important;
    width: 100% !important;
}

.widthText1000 {
    max-width: 1000px !important;
    width: 100% !important;
}

.widthText1100 {
    max-width: 1100px !important;
    width: 100% !important;
}

.widthText1200 {
    max-width: 1200px !important;
    width: 100% !important;
}

.widthText1300 {
    max-width: 1300px !important;
    width: 100% !important;
}

.widthText1400 {
    max-width: 1400px !important;
    width: 100% !important;
}

.widthText1500 {
    max-width: 1500px !important;
    width: 100% !important;
}

.marginCenter {
    margin: 0 auto;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.3;
    font-weight: 400;
}

p, span {
    font-weight: 400;
}

.black {
    font-weight: 900;
}

.bold {
    font-weight: 700;
}

.semiBold, .semiBold * {
    font-weight: 600;
}

strong {
    font-weight: 600;
}

.regular {
    font-weight: 400;
}

.medium {
    font-weight: 500;
}

.light {
    font-weight: 300;
}

.extraLight {
    font-weight: 200;
}

.size80 {
    font-size: 4em;
}

.size60 {
    font-size: 3em;
}

.size40 {
    font-size: 2em;
}

.size30 {
    font-size: 1.5em;
}

.size20 {
    font-size: 1em;
}

.size20 {
    font-size: .75em;
}

.cooperFont {
    font-family: "Cooper", sans-serif !important;
}

.upper {
    text-transform: uppercase;
}

.taj {
    text-align: justify;
}

.tac {
    text-align: center;
}

.tal {
    text-align: left;
}

.tar {
    text-align: right;
}

.relative {
    position: relative
}

.bgImg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.afterFilter, .afterFilter * {
    position: relative;
    z-index: 10;
}

.afterFilter:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: black;
    opacity: .5;
}

.afterFilter.radius:after {
    border-radius: var(--basicRadius);
}

.afterFilter.smallRadius:after {
    border-radius: var(--smallRadius);
}

.radius {
    border-radius: var(--basicRadius);
}

.mediumRadius {
    border-radius: var(--mediumRadius);
}

.smallRadius {
    border-radius: var(--smallRadius);
}

.activeLink {
    border-bottom: 1px solid var(--basicColor1);
}

.mainShadow {
    box-shadow: var(--mainShadow);
}

.colorWhite, .colorWhite * {
    color: var(--basicWhite);
}

.bgWhite {
    background-color: var(--basicWhite);
}

.fillWhite * {
    fill: var(--basicWhite);
}

.colorBlack, .colorBlack * {
    color: var(--basicBlack);
}

.bgBlack {
    background-color: var(--basicBlack);
}

.fillBlack * {
    fill: var(--basicBlack);
}

.colorGreen, .colorGreen * {
    color: var(--basicColor1);
}

.bgGreen {
    background-color: var(--basicColor1);
}

.fillGreen * {
    fill: var(--basicColor1);
}

.colorLightGreen, .colorLightGreen * {
    color: var(--basicColor2);
}

.bgLightGreen {
    background-color: var(--basicColor2);
}

.fillLightGreen * {
    fill: var(--basicColor2);
}

.colorBeige, .colorBeige * {
    color: var(--basicColor3);
}

.bgBeige {
    background-color: var(--basicColor3);
}

.fillBeige * {
    fill: var(--basicColor3);
}

b {
    font-weight: 600;
}

.introText {
    display: flex;
    flex-direction: column;
    gap: 1em;
    width: 100%;
}

.w100 {
    width: 100% !important;
}

.mainLink.center {
    display: flex;
    justify-content: center;
    width: 100%;
}

.mainLink.end {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.mainLink a,
.mainLink button,
.mainLink p {
    display: flex;
    flex-direction: row-reverse;
    padding: .25em .25em .25em 1.5em;
    gap: 1em;
    align-items: center;
    width: fit-content;
    cursor: pointer;
    transition: ease all .3s;
    border: none;
}

.mainLink a .svgContainer,
.mainLink button .svgContainer,
.mainLink p .svgContainer {
    padding: .5em;
    border-radius: 100%;
}

.mainLink a .svgContainer span,
.mainLink button .svgContainer span,
.mainLink p .svgContainer span {
    display: flex;
}

.mainLink a .svgContainer span svg,
.mainLink button .svgContainer span svg,
.mainLink p .svgContainer span svg {
    width: 1em;
    height: 1em;
    transform: rotate(-45deg);
    transition: ease all .3s;
}

.mainLink a:hover,
.mainLink button:hover,
.mainLink p:hover {
    gap: 2em;
}

.mainLink a:hover .svgContainer span svg,
.mainLink button:hover .svgContainer span svg,
.mainLink p:hover .svgContainer span svg {
    transform: rotate(-360deg);
}

.hidden {
    display: none !important;
}

/* START MODAL */
.modal {
    display: flex;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(-100%); /* Départ en dehors de l'écran, vers le haut */
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.modal-content {
    background-color: #fff;
    padding: 2em;
    border-radius: var(--basicRadius);
    width: 60%;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 80vh;
}

.modal.show {
    opacity: 1;
    transform: translateY(0);
}

.modal iframe {
    width: 100%;
    height: 100%;
}

.modal h2 {
    text-align: start;
    padding-bottom: .5em;
    padding-top: 1em;
}

.modal .close {
    position: absolute;
    top: .5em;
    right: 1em;
    font-size: 1.5em;
    cursor: pointer;
}

/* END MODAL */
/* START SLIDER */
.slider {
    max-width: 1920px;
    margin: 0 auto;
    position: relative;
}

.sliderWrapper {
    width: 410px;
    display: flex;
    transition: transform 1s ease-in-out;
    gap: 2em;
}

.sliderWrapper::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.sliderSlide {
    width: 410px;
    flex: 0 0 auto;
    box-sizing: border-box;
}

.horizontalScroll {
    overflow: hidden;
}

/* END SLIDER */
@media screen and (max-width: 1400px) {
    :root {
        font-size: 18px;
    }

    .size200 {
        font-size: 6em;
    }

    .size180 {
        font-size: 5em;
    }

    .size80 {
        font-size: 2.5em;
    }

    .size40 {
        font-size: 2em;
    }

    .size40 {
        font-size: 1.5em;
    }

    .size30 {
        font-size: 1.2em;
    }
}

@media screen and (max-width: 800px) {
    :root {
        font-size: 18px;
        --defaultSpacing: calc(2rem * 1.5)
    }

    .size60 {
        font-size: 2em;
    }

    .size40 {
        font-size: 1.5em;
    }

    .size25 {
        font-size: 1.15em;
    }
}

@media screen and (max-width: 700px) {
    :root {
        font-size: 18px;
        --defaultSpacing: 2rem
    }

    .bigSpacing {
        padding: var(--defaultSpacing) calc(var(--defaultSpacing) / 2)
    }

    .modal-content {
        height: 60vh;
        padding: 1em;
        width: 90%;
    }

    :root {
        font-size: 16px;
    }

    .size60 {
        font-size: 1.7em;
    }

    .size40 {
        font-size: 1.4em;
    }

    .size40 {
        font-size: 1.5em;
    }
}
