html {
    font-size: 16px;
}

/* TYPO */

@font-face {
    font-family: "Barlow";
    src: url("../fonts/BarlowCondensed-Medium.woff2");
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Barlow";
    src: url("../fonts/BarlowCondensed-Bold.woff2");
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    src: url("../fonts/Gotham-Bold.woff2");
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    src: url("../fonts/Gotham-Black.woff2");
    font-weight: 900;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat-Bold.woff2");
    font-weight: 700;
    font-display: swap;
}

.font-barlow-medium {
    font-family: "Barlow";
    font-weight: 500;
}

.font-barlow-bold {
    font-family: "Barlow";
    font-weight: 700;
}

.font-gotham-bold {
    font-family: "Gotham";
    font-weight: 700;
}

.font-gotham-black {
    font-family: "Gotham";
    font-weight: 900;
}

.font-montserrat-bold {
    font-family: "Montserrat";
    font-weight: 700;
}

/* END TYPO */


/* CONFIG */

:root,
*::before,
*::after {
    --color-neutral: #004A8E;
    --color-primary: #FBC200;
    --color-primary-light: #FFDE00;
    --color-accent: #ff3a00;
    --grid-container-max-width: 110.625rem;
    --transitidon-duration: 500ms;
}

body {
    font-family: "Barlow";
    font-weight: 500;
    font-size: 1rem;
    color: var(--color-neutral);
}

main {
    background: var(--color-primary);
}

body[data-market="carrefour"] [data-display-for="kaufland"],
body[data-market="carrefour"] [data-display-for="auchan"],
body[data-market="auchan"] [data-display-for="kaufland"],
body[data-market="auchan"] [data-display-for="carrefour"],
body[data-market="kaufland"] [data-display-for="auchan"],
body[data-market="kaufland"] [data-display-for="carrefour"] {
    display: none;
}

/* END CONFIG */


/* UTILITIES */

/* .background-decoration {
    position: absolute;
    left: 0;
    top: 0;
    max-width: 30%;
    z-index: 0;
    pointer-events: none;
} */

.bottle-decoration {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 0;
    transform: translateY(-50%);
    max-height: calc(var(--screen-height, 100vh) * 0.8);
    transition: var(--transition);
    pointer-events: none;
}

.premiu {
    position: relative;
    z-index: 99;
}

.color-accent {
    color: var(--color-accent);
}

.logo-cnt {
    background: var(--color-white);
    padding: .5rem;
    display: inline-flex;
}

.logo-cnt svg {
    height: 3.75rem;
    max-width: 9rem;
}

.cta {
    background: var(--color-neutral);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.5rem;
    color: var(--color-white);
    line-height: 1;
    padding: 1.5rem;
    text-transform: uppercase;
    transition: var(--transition);
    border: solid .125rem var(--color-neutral);
    min-width: 20rem;
    font-family: "Gotham";
    font-weight: 900;
}

.cta.cta--2 {
    background: var(--color-white);
    color: var(--color-neutral);
}

.cta.cta--3 {
    font-size: 1.25rem;
    padding: 1rem !important;
    min-width: 15rem;
}


/* UTILITIES */


/* MAIN STYLES */
.main-footer .disclaimer-2 {
    background: var(--color-white);
    border-top: solid .5rem var(--color-primary-light);
    margin-top: .5rem;

}

.markets .market {
    background: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    border: solid .0625rem var(--color-neutral);
    cursor: pointer;
    transition: var(--transition);
}

.markets .market svg {
    height: 7rem;
    transition: var(--transition);
}

.disclaimer svg {
    height: 1.5rem;
    width: 5rem;
    min-height: 1.5rem;
    min-width: 5rem;
}

.step-container {
    transition: var(--transition);
    height: 0px;
    opacity: 0;
    overflow: hidden;
    /*will-change: opacity, height;*/
}

.step-container[data-step-active] {
    opacity: 1;
    /* height: auto; */
}

.main:not([data-campaign-timing='ongoing']) [data-campaign-ongoing],
.main:not([data-campaign-timing='finished']) [data-campaign-finished],
.main:not([data-campaign-timing='not-started']) [data-campaign-not-started] {
    display: none;
}

.action {
    display: flex;
    position: relative;
}

.action__content {
    background: var(--color-white);
    padding: .5rem;
}

.action::before {
    content: "";
    background: url("../images/action-decoration.webp");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    display: block;
    width: 4rem;
    min-width: 4rem;
}

.action::after {
    content: attr(data-action-id);
    position: absolute;
    left: 0;
    top: 0;
    height: 3rem;
    width: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Gotham";
    font-weight: 900;
    background: var(--color-neutral);
    color: var(--color-white);
    font-size: 1.5rem;
    z-index: 99;
    border-radius: 50%;
}

/* END MAIN STYLES */

/* FORM */

select {
        appearance: none; /* Removes default styling */
    -webkit-appearance: none; /* Specific for Safari */
    -moz-appearance: none; /* For Firefox */
    text-align: center;
    text-align-last: center;
}

.form input,
.form select,
.form .input {
    width: 100%;
    outline: none;
    border: solid .0625rem var(--color-neutral);
    text-align: center;
    background: var(--color-white);
    font-size: 1.25rem;
    padding: .75rem;
    transition: var(--transition);
    text-transform: uppercase;
}

.form .input {
    display: block;
    background: var(--color-accent);
    color: var(--color-white);
    cursor: pointer;
    border-color: var(--color-accent);
}

.form .input svg * {
    fill: var(--color-white);
    border-color: transparent;
}

.form input[data-field-invalid],
.form select[data-field-invalid] {
    color: var(--color-accent);
}

.form input[id=file] {
    display: none;
}

.form .input:has(input[data-field-invalid]) {
    border-color: var(--color-error) !important;
    animation: shake 500ms linear;
}

/* FORM */

/* DATEPICKER */

.datepicker-dropdown {
    left: 50% !important;
    top: auto !important;
    bottom: 0 !important;
    transform: translate(-50%, 100%);
}

/* END DATEPICKER */

/* MESSAGES */

.message-cnt {
    background: var(--color-white);
    padding: 3rem;
    border-radius: 4rem;
    text-align: center;
    font-size: 2rem;
}

.message-cnt p:not([data-active]) {
    display: none;
}

.premiu {
    object-fit: contain;
}

/* END MESSAGES */

.menu-main,
.menu-footer {
    font-family: "Montserrat", sans-serif;

}

.menu-main {
    font-weight: 700;
}

/* MEDIA QUERRIES */

@media(min-width: 64rem) {
    /* .background-decoration {
        left: 15vw;
    } */
    
    .step-container[data-step-active][data-step-id="1"] {
        margin-top: 10vh;
    }

    .step-container[data-step-active][data-step-id="2"] {
        margin-top: 30vh;
    }

    .step-container[data-step-active][data-step-id="3"],
    .step-container[data-step-active][data-step-id="4"] {
        margin-top: 18vh;
    }

    .background-decoration {
        position: absolute;
        left: 15vw;
        top: 0;
        max-width: 30%;
        z-index: 0;
        pointer-events: none;
    }

    .main {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        height: 100vh;
    }

    /* .main-footer {
        height: 10vh;
    } */

    .menu-main a {
        font-size: 1.3em !important;
    }



    .markets .market:hover svg {
        transform: scale(1.1);
    }

    .cta:hover {
        background: var(--color-accent);
        color: var(--color-white);
        border-color: var(--color-accent);
    }

    *[style*="--large-min-height:"] {
        min-height: var(--large-min-height);
    }

}

@media(max-width: 85rem) {
    .bottle-decoration {
        max-height: calc(var(--screen-height, 100vh)* 0.5);
    }
}

@media(max-width: 63.9375rem) {
    body:has(.main:not([data-step-current='1'])) .bottle-decoration {
        opacity: 0;
    }

    .all-steps {
        height: 100%;
    }

    .step-container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    /* .background-decoration {
        max-width: 100%;
        top: 60px;
    } */

    .bottle-decoration {
        max-height: calc(var(--screen-height, 100vh) * 0.4);
    }

    .main {
        height: 100% !important;
        padding-top: 2vh;
    }

    .markets .market {
        padding: 1rem;
    }

    .markets .market svg {
        height: 4rem;
    }

    .markets .market.marker--carrefour svg {
        height: 6rem;
    }

    .main-footer {
        margin-top: 3rem;
    }

    .disclaimer-1 {
        margin-bottom: 2rem;
    }

    /* .step-container[data-step-active][data-step-id="2"],
    .step-container[data-step-active][data-step-id="4"] {
        margin-top: 0
    } */

    .premiu {
        max-width: 15rem;
    }

    .premiu.premiu--2 {
        max-width: 12rem;
    }

    .cta {
        font-size: 1.25rem;
        padding: 1rem;
    }

    .cta.cta--2,
    .cta.cta--3 {
        font-size: 1rem;
    }

    .message-cnt {
        padding: 1.5rem;
        font-size: 1.25rem;
    }

}

/* END MEDIA QUERRIES */


/* SCREEN RESIZE */

@media all and (min-width: 1023px) and (max-width: 1440px) {
    html {
        font-size: 75%;
    }
}

@media all and (min-width: 1536px) and (-webkit-min-device-pixel-ratio: 1.25) {
    html {
        font-size: 1.7075773746vmin;
    }
}

@media all and (min-width: 1280px) and (-webkit-min-device-pixel-ratio: 1.5) {
    html {
        font-size: 1.7075773746vmin;
    }
}

@media all and (min-width: 1097px) and (-webkit-min-device-pixel-ratio: 1.75) {
    html {
        font-size: 1.7075773746vmin;
    }
}

/* END SCREEN RESIZE */