/* ---------------------------------------------- FC ClickID */

:root {
    --fc-clickid-principale: var(--principale);
    --fc-clickid-radius: .5rem;
    --fc-clickid-ombre: 0 0 2rem rgba(0, 0, 0, .15);
}

html {
    overflow-x: hidden;
}

#fc-clickid :is(h2,.h2,h3,.h3,h4,.h4):before {
    display: none;
}


/* ---------------------------------------------- Bannière */

#fc-clickid.-banniere {
    position: relative;
    padding: .5rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    z-index: 20;
}

.-banniere {
    background: var(--fc-clickid-principale);
    color: var(--fc-clickid-texte);
}

.-banniere a {
    color: currentColor;
}

.-banniere a:hover,
.-banniere-popup .fc-clickid__popup.notfull a:hover {
    opacity: .5;
}

#fc-clickid {
    text-wrap: balance;
}


/* ---------------------------------------------- Encart */

#fc-clickid.-encart {
    background-color: var(--fc-clickid-texte);
    border-radius: var(--fc-clickid-radius);
    box-shadow: var(--fc-clickid-ombre);
    position: absolute;
    width: 32rem;
    max-width: 96%;
    top: 14rem;
    padding: clamp(1rem, 2vw, 2rem);
    box-sizing: border-box;
    z-index: 10;
    transition: .3s ease transform;
    max-height: calc(100vh - 17rem);
}

#fc-clickid.-encart.fc-clickid-close.gauche { transform: translateX(-100%); }
#fc-clickid.-encart.fc-clickid-close.droite { transform: translateX(100%); }
#fc-clickid.-encart.fc-clickid-close.gauche #clickid-btn { transform: translate(3rem, -1rem); }
#fc-clickid.-encart.fc-clickid-close.droite #clickid-btn { transform: translate(-3rem, -1rem); }

#fc-clickid .fc-clickid__encart {
    max-height: calc(100vh - 19rem);
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: clamp(.5rem, 1.5vw, 1.5rem);
    scrollbar-color: #afafaf #efefef;
	scrollbar-width: thin;
}

#fc-clickid .fc-clickid__encart::-webkit-scrollbar {
    width: .5rem;
    height: .5rem;
    background-color: #efefef;
}

#fc-clickid .fc-clickid__encart::-webkit-scrollbar-thumb {
  background: #afafaf;
}

#fc-clickid.-encart a {
    text-decoration: none;
    color: currentColor;
}

#fc-clickid.-encart.gauche { left: .5rem; }
#fc-clickid.-encart.droite { right: .5rem; }

.clickid-btn {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    padding: .5rem;
    border-radius: var(--radius);
    position: absolute;
    top: 0;
    transform: translate(0, -2rem);
}

#fc-clickid.-encart img {
    max-height: 256px;
    height: auto;
    width: 100%;
    object-fit: cover;
    margin: auto;
    max-width: 100%;
}

.-encart.gauche .clickid-btn { right: 0; }
.-encart.droite .clickid-btn { left: 0; }

@media screen and (min-width: 1023px) {
    .-encart.gauche .clickid-btn {
        transform: translate(1rem, -1rem);
    }
    .-encart.droite .clickid-btn {
        transform: translate(-1rem, -1rem);
    }
}

#clickid-btn {
    cursor: pointer;
    transition: .3s ease all;
}

#clickid-btn:hover {
    opacity: .75;
}

.clickid-btn svg {
    width: 1.5rem;
    height: auto;
    fill: white;
}

.clickid-btn .chevron-clickid {
    width: .5rem;
}

.-encart.gauche .chevron-clickid {
    transform: rotate(180deg);
    order: -1;
}

/* ---------------------------------------------- Bannière */

#fc-clickid.-banniere-popup {
    position: relative;
}

#fc-clickid .fc-clickid__banniere {
    padding: .5rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    user-select: none;
}

.fc-clickid__banniere {
    background: var(--fc-clickid-principale);
    color: var(--fc-clickid-texte);
    cursor: pointer;
}

.fc-clickid__popup {
    background-color: #ffffff;
    border-radius: var(--fc-clickid-radius);
    box-shadow: var(--fc-clickid-ombre);
    position: fixed;
    width: 100vw;
    max-width: 96%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    padding: 1rem;
    box-sizing: border-box;
    text-align: center;
    transition: .3s ease all;

    max-height: 90vh;

    overflow-x: hidden;
    overflow-y: auto;

    scrollbar-color: #afafaf #efefef;
	scrollbar-width: thin;
    z-index: 20;
}

.fc-clickid__popup .fc-clickid__popup__close ~ div {
    width: 100%;
    height: 100%;
    margin: auto;
}

.fc-clickid__popup img,
.fc-clickid__popup picture {
    width: 100%;
    height: 100%;
}

.fc-clickid__popup figure {
    margin: -1rem -1rem 1rem -1rem;
    height: 256px;
    width: auto;
}

@media screen and (min-width: 1024px) {
    .fc-clickid__popup {
        padding: 3vw;
        display: flex;
        gap: 3vw;
        width: min(80rem, 80vw);
        min-height: min(30rem, 50vh);
    }
    .notfull.fc-clickid__popup figure {
        position: sticky;
        top: -3vw;
        left: -3vw;
        bottom: -3vw;
        min-width: 28vw;
        max-width: 28vw;
        margin: -3vw 0 -3vw -3vw;
        height: auto;
    }
}

.fc-clickid__popup::-webkit-scrollbar {
    width: .5rem;
    height: .5rem;
    background-color: #efefef;
}

.fc-clickid__popup::-webkit-scrollbar-thumb {
    background: #afafaf;
}

.fc-clickid__popup.fc-clickid-close {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.5);
}

.fc-clickid__popup.notfull img {
    object-fit: contain;
    backdrop-filter: blur(.5rem);
}

.fc-clickid__popup.full {
    padding: 0;
    width: auto;
    max-width: initial;
    max-height: 99vh;
}

.fc-clickid__popup.full figure {
    width: auto;
    position: relative;
    height: auto;
    margin: 0;
}

.fc-clickid__popup__close {
    position: absolute;
    top: clamp(1rem, 2vw, 2rem);
    right: clamp(1rem, 2vw, 2rem);
    width: clamp(1.25rem, 2vw, 2rem);
    height: clamp(1.25rem, 2vw, 2rem);
    background: rgba(0, 0, 0, .5);
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    transition: background-color .3s ease, transform .3s ease;
}

.fc-clickid__popup__close::before,
.fc-clickid__popup__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: clamp(.75rem, 1vw, 1rem);
    height: .125rem;
    background: var(--blanc);
    border-radius: .125rem;
    transform-origin: center;
}

.fc-clickid__popup__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.fc-clickid__popup__close::after { transform: translate(-50%, -50%) rotate(-45deg); }

.fc-clickid__popup__close:hover {
    background: rgba(0, 0, 0, .8);
    transform: rotate(90deg);
}

.fc-clickid__popup__close:hover {
    transform: scale(.9);
}

.fc-clickid__banniere button {
    background: none;
    border: none;
    padding: 0;
    font-family: inherit;
    text-decoration: underline;
    font-size: clamp(.875rem, 1.25vw, 1.25rem);
    transition: .3s ease all;
    color: var(--fc-clickid-texte);
    cursor: pointer;
}

#fc-clickid.-banniere-popup::after {
    content: "";
    background: #00000070;
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 1;
    pointer-events: none;
    transition: .3s ease opacity;
}

#fc-clickid.-banniere-popup.fc-clickid-close:after {
    opacity: 0;
}

#fc-clickid.-banniere + header:not(.scroll),
#fc-clickid.-banniere-popup + header:not(.scroll) {
    top: var(--fc-clickid-banner-height, 2.625rem);
}
