@font-face {
    font-family: 'Fredoka';
    src: url('https://media.ltp.ltd/eat.splash/fonts/fredoka-font-sf.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap; /* Permet un affichage rapide du texte alternatif en attendant le chargement */
}

@font-face {
    font-family: 'REM';
    src: url('https://media.ltp.ltd/eat.splash/fonts/rem-font-sf.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    width: 100vw;
    height: 100vh;
    overflow: hidden !important; 
    background-color: #f0f7ff;
}

body {
    display: flex;
    flex-direction: column; 
    font-family: 'Fredoka', sans-serif;
}

header, footer {
    flex-shrink: 0;
    z-index: 1000;
}

header {
    background-color: #132238;
    color: white;
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.8rem 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

header .logo-svg { width: 100px; height: auto; }
header h1 { font-size: clamp(1rem, 2vw, 1.8rem); }
header p { font-size: 0.8rem; opacity: 0.8; }

.mobile-header-decor {
    display: none;
}
.cascade-wrapper {
    position: relative;
    flex: 1; 
    min-height: 0; 
    display: flex;
    flex-direction: column;
}

.bg-layer {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}
.decor-group { position: absolute; }
.cloud-svg { width: 100%; height: auto; }
.food-svg { position: absolute; z-index: 2; filter: drop-shadow(0 10px 15px rgba(0,0,0,0.1)); }

main {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    z-index: 10;
}

.kiosk-frame {
    background: white;
    width: 90%;
    max-width: 1000px;
    height: 98%; 
    border: 10px solid #132238;
    border-radius: 40px;
    box-shadow: 0 30px 60px rgba(0,0,0,0.15);
    overflow: hidden;
    display: flex;
}

iframe {
    width: 100%;
    height: 100%;
    border: none;
    background: white;
}

@media (min-width: 1024px) {
    .group-1 { top: 8%; left: -30px; width: 400px; }
    .group-1 .chips-svg { width: 110px; top: -5%; left: 40%; }
    
    .group-2 { top: 22%; right: -60px; width: 460px; }
    .group-2 .hotdog-svg { width: 180px; top: -40px; left: 15%; }
    
    .group-3 { top: 65%; left: -30px; width: 500px;}

    .group-4 { bottom: -70px; right: -80px; width: 400px; }
    .group-4 .salad-svg { width: 150px; top: -15%; left: 15%; }
}

@media (max-width: 1023px) {
    .bg-layer { display: none; }
    main { padding: 0; }
    .kiosk-frame { border: none; border-radius: 0; width: 100%; height: 100%; }

    header {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        border-bottom: none !important;
        position: relative;
        touch-action: none !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    header::-webkit-scrollbar,
    .header-container::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    .header-container { 
        position: relative;
        display: flex;
        flex-direction: row; 
        justify-content: flex-start;
        align-items: center;
        padding: 0.5rem 20px;
        width: 100%;
        height: 90px;
        
        overflow-x: hidden !important;
        overflow-y: visible !important;
        box-shadow: inset 0 -8px 0 0 #14b8a6;

        touch-action: none !important;

        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    header .header-text { 
        display: none !important; 
    }

    header .logo-svg { 
        width: 85px; 
        position: relative;
        bottom: -3px;
        z-index: 99;
    }

    .mobile-header-decor {
        display: block;
        position: absolute;
        height: auto;
    }

    .mobile-header-cloud {
        width: 320px;
        right: -15px;
        bottom: -8px; 
        z-index: 2;
    }

    .mobile-header-chips {
        width: 45px;
        right: 25px;   
        top: 7px;      
        z-index: 1;   
        transform: rotate(5deg);
        filter: drop-shadow(0 4px 6px rgba(0,0,0,0.15));
    }

    .mobile-header-hotdog {
        width: 65px;
        right: 100px;   
        top: 7px;      
        z-index: 1;   
        transform: rotate(5deg);
        filter: drop-shadow(0 4px 6px rgba(0,0,0,0.15));
    }

    .mobile-header-salad {
        width: 65px;
        right: 205px;   
        top: 8px;      
        z-index: 1;   
        filter: drop-shadow(0 4px 6px rgba(0,0,0,0.15));
    }
}

footer {
    background-color: #132238;
    color: white;
    text-align: center;
    padding: 0.8rem;
    font-size: 0.75rem;
}

footer p {
    font-family: 'REM', sans-serif;
}