@font-face {
    font-family: 'Fiance';
    src: url('../fonts/Fiance.otf') format('opentype');
    font-display: swap;
}

@font-face {
    font-family: Miguna;
    src: url('/assets/fonts/miguna.otf') format("opentype");
}

@font-face {
    font-family: Miguna;
    src: url('/assets/fonts/miguna-bold.otf') format("opentype");
    font-weight: bold;
}

@font-face {
    font-family: Miguna;
    src: url('/assets/fonts/miguna-thin.otf') format("opentype");
    font-weight: 100;
}

@font-face {
    font-family: SUMuseo;
    src: url('/assets/fonts/sumuseo-bold.otf') format("opentype");
    font-weight: bold;
}

@font-face {
    font-family: SUMuseo;
    src: url('/assets/fonts/sumuseo-light.otf') format("opentype");
    font-weight: 300;
}

:root{
    --bleu: #27406e;
    --orange: #fe720f;
    --jaune: #f5ec01;
    --rouge-fonce: #7f1d1d;
    --rouge: #dc2626;
}

*, ::before, ::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body{
    width: 100%;
    max-width: 1920px;
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    position: relative;
    display: grid;
    grid-template-rows: 211px 1fr auto;
}

*{
    font-family: Miguna, sans-serif;
    font-weight: 100;
}

a, a:hover{text-decoration: none;}

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

.button-reset{
    background: transparent;
    outline: none;
    border: none;
    padding: 0;
    margin: 0;
    display: inline;
}

.container{
    width: 100%;
    max-width: 768px;
    margin: 0 auto;
    padding: 0 15px;
}


.bg{
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: -1;
    background: url('/assets/imgs/fond.jpg') no-repeat;
    background-position: top center;
    background-size: cover;
}

header .logo{
    position: relative;
    margin: 0 auto;
}

.btn{
    --btn-color-1: var(--jaune);
    --btn-color-2: var(--orange);
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 #0000, 0 0 #0000, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
    background-image: linear-gradient(to top, var(--btn-color-1), var(--btn-color-2));
    min-height: 60px;
    max-width: max-content;
    border-radius: .75rem;
    color: white;
    text-transform: uppercase;
    line-height: 1.75rem;
    position: relative;
    padding: .75rem 2.5rem;
    transition: --btn-color-1 .3s ease, --btn-color-2 .3s ease;
}

.btn:hover{
    --btn-color-1: var(--orange);
    --btn-color-2: var(--jaune);
    color: white;
}

.btn::before{
    content: "";
    position: absolute;
    inset: .25rem;
    background-image: linear-gradient(to bottom, var(--btn-color-1), var(--btn-color-2));
    border-radius: .75rem;
}

.btn span{
    position: relative;
    font-weight: bold;
    letter-spacing: .1em;
    font-size: 1.125rem;
    font-family: SUMuseo, sans-serif;
}


header .logo{
    width: 100%;
    max-width: 600px;
}

header .logo a img{
    position: relative;
    z-index: 3;
}

header .logo img{
    margin: 0 auto;
    transform: translateX(13%);
}

header .logo > img{
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 2;
    display: none;
    min-height: 370px;
    object-fit: cover;
    object-position: top center;
}

.ballons{
    left: 3.5rem;
    position: relative;
}

.logo-caddy{
    position: absolute;
    width: calc(100% / 3);
    inset: 0;
    margin: auto;
}


footer ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    color: white;
    justify-content: center;
    gap: 5px 0;
    margin-bottom: 1em;
}

footer li a{
    color: inherit;
    font-size: .9rem;
    line-height: 1.5rem;
    font-weight: 300;
    text-transform: uppercase;
}

footer ul li:not(:last-child):after{
    content: "|";
    margin: 0 5px;
}

footer .profile-links{
    margin-top: .5rem;
    margin-bottom: 1rem;
}

span.error{
    color: var(--jaune);
    font-size: .8rem;
}

.container.expired, .container.no-item{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (max-width: 480px) {
    footer ul{
        padding: 0;
        text-align: center;
    }

    footer ul li:not(:last-child):after{display: none;}
}