/*
Theme Name: POC 2026
Template: base_WP_v1_1
Theme URI: https://poc16.fr
Author: Stevie Khoudour
Author URI: https://stevieclick.fr
Description: Template pour le site des Portes Ouvertes Culturelles 2026 d'Angoulême
Version: 1.0
Text Domain: basewp_template
Tags: wordpress, theme, base_wp, poc, 2026, angouleme
*/



/* //////////////////////////////////////////////////////////// CUSTOM CSS ///////////////////////////////////////////////////////////////////////////////////// */



/* //////////////////////////////////////////////////////////// GENERAL ///////////////////////////////////////////////////////////////////////////////////// */

:root {
    --color_01: #80ba00;
    --color_01_L: #fff;
    --color_01_D: #6d9e00;
    --color_02: #ffc500;
    --color_02_L: #fff;
    --color_02_D: #fff;
    --color_02_DD: #fff;
    --color_03: #ff4100;
    --color_03_L: #fff;
    --color_03_D: #fff;
    --color_04: #1e98ff;
    --color_04_L: #fff;
    --color_04_D: #fff;
    --color_05: #f8ea94;
    --color_05_L: #fff;
    --color_05_D: #fff;
    --color_06: #ff85d0;
    --color_06_L: #fff;
    --color_06_D: #fff;
}

html, body, #canvas, #canvas * {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

html, body {
    overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--color_04);
    margin: 0;
    padding: 0;
}

h2 {
    font-size: 40px;
}

p, a, strong, li, span {
    font-size:17px;
}

a {
    font-weight:bold;
}

a:hover {
    color:var(--color_06);
}

#page_text p {
    text-align: justify;
}

strong {
    color: black;
}

input, textarea {
    background-color: var(--color_03);
}

li {
    list-style-type: disc;
    margin-left: 2em;
}

button {
    margin-top: 0.6em;
    padding: 0.8em 2.7em;
    font-size: 18px;
    background-color: var(--color_04);
    color: var(--color_02);
    border-radius: 10px;
    text-transform: none;
    font-weight: bold;
    transform: rotate(0deg);
}

button:hover {
    background-color: var(--color_06);
    color: var(--color_05);
    box-shadow: 5px 4px 2px #787878;
    transform: rotate(0deg);
}

#e02, #e03, #e04, #e05, #e06, #e07, #e08, #e09, #e10, #e_contact, footer {
    position:relative;
    z-index:3;
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: var(--color_02); 
}
 
::-webkit-scrollbar-thumb {
  background: var(--color_04); 
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color_06); 
}


#main-page {
    /* background: linear-gradient(90deg, #d5d2d7, #f2f3f7, #f2f3f7, #d5d2d7); */
}

/* //////////////////////////////////////////////////////////// LOADING PAGE ///////////////////////////////////////////////////////////////////////////////////// */

#poc_loader {
    position: fixed;
    inset: 0;
    z-index: 201;
    background-color: var(--color_04);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

#poc_loader.hidden {
    opacity: 0;
    visibility: hidden;
}

#poc_loader_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5em;
}

#poc_loader_inner img {
    width: 200px;
    filter: grayscale(1) contrast(0) sepia(1) saturate(4.5) brightness(1.5);
    animation: loaderPulse 1.5s ease-in-out infinite;
}

@keyframes loaderPulse {
    0%, 100% { transform: scale(.95);    opacity: .9;   }
    50%       { transform: scale(1); opacity: 1; }
}

#poc_loader_bar_wrap {
    width: 260px;
    height: 10px;
    background-color: #ffffff30;
    border-radius: 10px;
    overflow: hidden;
}

#poc_loader_bar {
    height: 100%;
    width: 0%;
    background-color: var(--color_06);
    border-radius: 10px;
    transition: width 0.2s ease;
}

#poc_loader_label {
    color: var(--color_05);
    font-weight: bold;
    font-size: 1em;
    margin: 0;
}



/* //////////////////////////////////////////////////////////// ACCUEIL ///////////////////////////////////////////////////////////////////////////////////// */

header, footer {
    display:none !important;
}

#vp {
  width: 100%; 
  height: 100%;
  overflow: hidden; 
  position: absolute; 
  top: 0;
  cursor: grab; 
  user-select: none;
  touch-action: none;
  pointer-events: auto
}

#vp.dragging { 
    cursor: grabbing; 
}

#canvas {
    width: 9000px;
    height: 5000px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    will-change: transform;
    contain: layout style;
    background-image: url(https://www.poc16.fr/wp-content/uploads/2026/05/cuisine_floue_02.jpg);
    background-size: cover;
}

#canvas_inner {
    position: absolute;
    top: 0;
    left: 2000px;  
    width: 5000px;
    height: 5000px;
    transform-style: flat;
    perspective: 7000px; 
    perspective-origin: 80% 50%;
}

#fridge_door {
    transform: rotateY(0deg);
    transform-origin: calc(3090px + 920px + 65px);
    transform-style: flat;
    position:relative;
    transition:all ease 800ms;
    will-change: transform; 
}

.poc_fixed,
.poc_hover_01,
.poc_map_magnets {
    will-change: unset;
}


#fridge_door_img {
    position: absolute;
    z-index:1;
    left: 920px;
    top: 160px;
    width: 3180px;
}

#fridge_backdoor {
    position: absolute;
    top: 165px;
    left: -917px;
    background-color: #cdcdcd;
    width: 100%;
    height: 4400px;
    z-index: 0;
    border: 50px solid #323231;
    opacity:0;
    pointer-events: none !important;
    transition-delay: 300ms;
}

#fridge_backdoor_close {
    display:none;
    position: fixed;
    z-index: 500;
    background-color: var(--color_04);
    right: 3.5em;
    top: 50%;
    padding: 1em 1.5em;
}

#fridge_backdoor_close:hover {
    box-shadow:0px 0px 8px 0px #a64380;
    background-color:var(--color_06);
}

#poc_tampon_01,
#poc_tampon_02,
#poc_tampon_03 {
    display: none;
}

#poc_tampon_01 {
    position: absolute;
    top: 500px;
    left: 2800px;
    z-index: 10;
}

#poc_tampon_01 img {
    width: 1300px;
    transform: rotate(2deg);
    box-shadow: 1px 1px 7px 0px black;
    transform: scaleX(-1);
}

#poc_tampon_02 {
    position: absolute;
    top: 1600px;
    left: 2800px;
    z-index: 10;
}

#poc_tampon_02 img {
    width: 1300px;
    transform: rotate(-2deg);
    box-shadow: 1px 1px 7px 0px black;
    transform: scaleX(-1);
}

#poc_tampon_03 {
    position: absolute;
    top: 2800px;
    left: 2800px;
    z-index: 10;
}

#poc_tampon_03 img {
    width: 1300px;
    transform: rotate(2deg);
    box-shadow: 1px 1px 7px 0px black;
    transform: scaleX(-1);
}

.poc_magnet_int {
    position: absolute;
    z-index: 200;
    pointer-events: none;
    display:none;
}

#poc_magnet_tampon_01 {
    top: 290px;
    left: 3300px;
    transform: rotate(-8deg);
}

#poc_magnet_tampon_01 img {
    width: 420px;
}

#poc_magnet_tampon_02 {
    top: 1400px;
    left: 3250px;
    transform: rotate(6deg);
}

#poc_magnet_tampon_02 img {
    width: 420px;
}

#poc_magnet_tampon_03 {
    top: 2570px;
    left: 3200px;
    transform: rotate(-4deg);
}

#poc_magnet_tampon_03 img {
    width: 450px;
}

#frigo_int_img {
    margin-left: 920px;
    margin-top: 160px;
    width: 3180px;
}

#frigo_ingredients,
#frigo_ingredients_noise {
    position: absolute;
    top: 600px;
    left: 1080px;
    width: 2700px;
    pointer-events: none;
    opacity: 0;
    transition: all ease 500ms;
    transition-delay: 300ms;
}

#frigo_ingredients {
    z-index: 1;
    display: none; 
    pointer-events: none !important;
}

#frigo_ingredients_noise {
    z-index: 2;
    mix-blend-mode: multiply;
    pointer-events: none !important;
}

#frigo_ingredients_noise .frigo_ing {
    position: relative;
}

#frigo_ingredients_noise .frigo_img_spacer {
    visibility: hidden;
    display: block;
    width: 100%;
}

.frigo_etage {
    display: flex;
    width: 95%;
    justify-content: center;
    align-items: flex-end;
    position: absolute;
    left: 120px;
}

#frigo_etage_01,
#frigo_etage_01_noise {
    top: 14px;
}

#frigo_etage_02,
#frigo_etage_02_noise {
    top: 606px;
}

#frigo_etage_03,
#frigo_etage_03_noise {
    top: 1655px;
}

#frigo_etage_04,
#frigo_etage_04_noise {
    top: 2390px;
}

.frigo_ing {
    position:relative;
}

.frigo_ing img {
    width: 100%;
}

.frigo_ing_column {
    display:flex; 
    flex-direction:column; 
    pointer-events: none !important;
}

#canvas .frigo_etage {
    pointer-events: none !important;
}

#canvas .frigo_ing {
    pointer-events: none !important;
}

#canvas .frigo_ing img {
    pointer-events: none !important;
}

.frigo_img_absolute {
    position: absolute;
    top: 0;
    left: 0;
    /* filter: sepia(1) hue-rotate(292deg) saturate(5.5) contrast(2.5) brightness(6.5) blur(3px) opacity(0.5); */
    -webkit-mask-image: linear-gradient(to right, transparent 20%, black 45%, black 55%, transparent 80%);
    mask-image: linear-gradient(to right, transparent 20%, black 45%, black 55%, transparent 80%);
    -webkit-mask-size: 200% 100%;
    mask-size: 200% 100%;
    -webkit-mask-position: -30% 0;
    mask-position: -30% 0;
    opacity:0;
    transition:all ease 250ms;
    mix-blend-mode:multiply;
}

.frigo_ing.hovered .frigo_img_absolute {
    opacity:1 !important;
    animation: slideMask 1.5s linear infinite;
}

.frigo_img_relative {
    mix-blend-mode: normal;
    opacity: 0 !important;
    transform: scale(0.8) !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
}

.frigo_ing:hover .frigo_img_relative {
    -webkit-mask-image: linear-gradient(to right, black 20%, transparent 45%, transparent 55%, black 80%);
    mask-image: linear-gradient(to right, black 20%, transparent 45%, transparent 55%, black 80%);
    -webkit-mask-size: 200% 100%;
    mask-size: 200% 100%;
    -webkit-mask-position: -30% 0;
    mask-position: -30% 0;
    animation: slideMask_relative 1.5s linear infinite;
}

.frigo_img_relative.visible {
    opacity: 1 !important;
    transform: scale(1) !important;
}

.frigo_ing:not(:hover) .frigo_img_relative.visible {
    opacity: 1 !important;
    filter: none !important;
    transform: scale(1) !important;
}


@keyframes slideMask {
    0% {
        -webkit-mask-position: -30% 0;
        mask-position: -30% 0;
    }
    70% {
        -webkit-mask-position: 150% 0;
        mask-position: 150% 0;
    }
    100% {
        -webkit-mask-position: 150% 0;
        mask-position: 150% 0;
    }
}

@keyframes slideMask_relative {
    0% {
        -webkit-mask-position: -30% 0;
        mask-position: -30% 0;
    }
    70% {
        -webkit-mask-position: 150% 0;
        mask-position: 150% 0;
    }
    100% {
        -webkit-mask-position: 150% 0;
        mask-position: 150% 0;
    }
}

#fridge_poignet {
    position: absolute;
    top: 1100px;
    left: 1100px;
    width: 210px;
    height: 1650px;
    background-color: grey;
    z-index: 200;
    border-radius: 70px;
    box-shadow: 14px 14px 13px #00000052;
    border: 45px solid #ffffff0d;
    border-bottom: 45px solid #0505050d;
    border-right: 45px solid #0000000d;
    transition:all ease 250ms;
    pointer-events: auto !important;
    outline: 15px solid #ffffff00;
}

#fridge_poignet:hover {
    outline: var(--color_06) 15px solid;
}

#fridge_poignet.unlocked {
    pointer-events: auto;
    opacity: 1;
    filter: none;
    animation: fridgePulse 1s ease-in-out 3;
}

@keyframes fridgePulse {
    0%, 100% { outline: var(--color_06) 15px solid; }
    50%       { outline: var(--color_02) 20px solid; }
}

#fridge_locked_msg {
    position: fixed;
    background-color: var(--color_06);
    color: var(--color_05);
    font-weight: bold;
    padding: 0.6em 1.2em;
    border-radius: 20px;
    font-size: 18px;
    pointer-events: none;
    z-index: 400;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    max-width: 250px;
}

#fridge_locked_msg.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Classe pour appliquer le gigotement */
.wiggling {
    animation: wiggle 0.15s ease-in-out 3;
    transform-origin: center;
}

@keyframes wiggle {
    0%, 100% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-2.5deg);
    }
    75% {
        transform: rotate(2.5deg);
    }
}

#frigo_int_title {
    position: absolute;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 300px;
    left: 0;
    right: 0;
    margin: auto;
    background-color: var(--color_02);
    padding: 2em 10em;
    border-radius: 500px;
    font-size: 3em;
    width: fit-content;
    box-shadow: 9px 7px 20px #5e56aa;
    font-weight: bold;
}

#frigo_int_title h2 {
    font-size:80px;
}

#frigo_int_title p {
    font-size:40px;
}

.ing_appears {
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.ing_appears.visible {
    opacity: 1;
    transform: scale(1);
}

.frigo_open #frigo_ingredients * {
    pointer-events: auto !important;
}

.frigo_open #frigo_ingredients {
    z-index:1;
    display:block;
}

.frigo_open #frigo_int_title {
    display:flex;
}


/* //////////////////////////////////////////////////////////// MAGNETS ///////////////////////////////////////////////////////////////////////////////////// */

.poc_fixed {
    pointer-events: none;
}

#poc_logo {
    position: absolute;
    top: 2065px;
    left: 1700px;
    transform: rotate(-7deg);
    z-index:10;
}

#poc_logo img {
    width: 300px;
}

#poc_map_complete {
    position: absolute;
    top: 2155px;
    left: 2025px;
    z-index:11;
}

.poc_map_magnets {
    position:absolute;
    transition:all ease 200ms;
}

.poc_map_magnets img {
    transition:all ease 200ms;
}

.poc_map_magnets:hover img {
    transform:rotate(3deg) scale(1.05);
    filter:brightness(1.05);
}

#poc_map_01 {
    top: 0px;
    left: 0px;
}

#poc_map_02 {
    top: 19px;
    left: 330px;
    z-index:15;
}

#poc_map_03 {
    top: 140px;
    left: 404px;
    z-index:14;
}

#poc_map_04 {
    top: 213px;
    left: 639px;
    z-index:13;
}

#poc_map_05 {
    top: 170px;
    left: 28px;
    transform: rotate(6deg);
}

#poc_map_06 {
    top: 217px;
    left: 257px;
    z-index:15;
}

#poc_map_07 {
    top: 403px;
    left: 423px;
    transform: rotate(-2deg);
}

/*

#poc_map_01 {
    top: 0px;
    left: 0px;
}

#poc_map_02 {
    top: 13px;
    left: 300px;
}

#poc_map_03 {
    top: 87px;
    left: 345px;
}

#poc_map_04 {
    top: 140px;
    left: 553px;
}

#poc_map_05 {
    top: 146px;
    left: 24px;
    transform: rotate(6deg);
}

#poc_map_06 {
    top: 179px;
    left: 224px;
}

#poc_map_07 {
    top: 317px;
    left: 369px;
    transform: rotate(-6deg);
}

*/

.poc_gomette {
    position:absolute;
    z-index: 20;
    padding: .5em .5em .4em;
    background-color: var(--color_03);
    color: white;
    border-radius: 200px;
    font-weight: bold;
    transition: all ease 100ms;
    border: 3px solid white;
    aspect-ratio: 2.1;
    text-align: center;
    font-size: 17px;
}

.poc_gomette:hover {
    background-color:var(--color_04);
    transform:scale(1.2);
}

#poc_map_gomette_01 {
    top: -22px;
    left: 291px;
}

#poc_map_gomette_02 {
    top: -17px;
    left: 334px;
}

#poc_map_gomette_03 {
    top: -24px;
    left: 385px;
}

#poc_map_gomette_04 {
    top: 64px;
    left: 514px;
}

#poc_map_gomette_05 {
    top: 115px;
    left: 538px;
}

#poc_map_gomette_06 {
    top: 157px;
    left: 545px;
}

#poc_map_gomette_07 {
    top: 196px;
    left: 342px;
}

#poc_map_gomette_08 {
    top: 203px;
    left: 384px;
}

#poc_map_gomette_09 {
    top: 247px;
    left: 483px;
}

#poc_map_gomette_10 {
    top: 227px;
    left: 517px;
}

#poc_map_gomette_11 {
    top: 193px;
    left: 503px;
}

#poc_map_gomette_12 {
    top: 240px;
    left: 559px;
}

#poc_map_gomette_13 {
    top: 359px;
    left: 772px;
}

#poc_map_gomette_14 {
    top: 240px;
    left: 858px;
}

#poc_map_gomette_15 {
    top: 283px;
    left: 864px;
}

#poc_map_gomette_16 {
    top: 310px;
    left: 952px;
}

#poc_map_gomette_17 {
    top: 629px;
    left: 871px;
}

#poc_fridge {
    position: absolute;
    top: 50px;
    left: 825px;
    z-index:1;
    opacity:.5;
}

#poc_post-it_navettes {
    position: absolute;
    top: 2890px;
    left: 2900px;
    z-index:10;
}

#poc_post-it_navettes img {
    width: 300px;
}

#poc_map_navettes {
    position:absolute;
    top: -53px;
    left: 150px;
    pointer-events: none !important;
    opacity:0;
    z-index:0;
    transition:all ease 250ms;
}

#poc_map_navettes img {
    width:755px;
    pointer-events: none !important;
}

.poc_map_navettes_visible {
    opacity:1 !important;
    z-index:100 !important;
}

.navette_name {
    position: absolute;
    font-size: 36px;
    font-weight: bold;
    padding: .3em .45em;
    border-radius: 50px;
    border: 8px solid white;
}

#navette_N1 {
    color:white;
    background-color: var(--color_04);
    top: 60px;
    left: 616px;
}

#navette_N2 {
    color:white;
    background-color: var(--color_03);
    top: -8px;
    left: 315px;
}

.navette_name {
    position: absolute;
    font-size: 36px;
    font-weight: bold;
}

#poc_arrets_navettes {
    position: absolute;
    top: 2950px;
    left: 3150px;
    z-index: 9;
}

#poc_arrets_navettes img {
    width: 300px;
}

#poc_lineup {
    position: absolute;
    top: 2309px;
    left: 1500px;
    z-index: 9;
}

#poc_lineup img {
    width: 600px;
}

#poc_lineup_magnets {
    position: absolute;
    top: 2220px;
    left: 1466px;
    z-index: 10;
    transform: rotate(-1deg);
}

.poc_lineup_magnet {
    position:absolute;
}

.poc_lineup_magnet img {
    width:150px;
    filter:saturate(0);
}

#poc_jazz {
    top: 0px;
    left: 0px;
}

#poc_upb {
    top: 200px;
    left: 0px;
}

#poc_horak {
    top: 400px;
    left: 0px;
}

#poc_mizzz {
    top: 600px;
    left: 0px;
}

#poc_mei {
    top: 800px;
    left: 0px;
}


#poc_dessin_enfants {
    position: absolute;
    top: 3495px;
    left: 2000px;
    z-index: 9;
    transform: rotate(-11deg);
}

#poc_dessin_enfants img {
    width:900px;
}

#poc_liste_lieux {
    position: absolute;
    top: 2180px;
    left: 3190px;
    z-index: 9;
}

#poc_liste_lieux img {
    width: 600px;
}

#poc_bg {
    position: absolute;
    z-index: 0;
    display:none;
}

#poc_bg img {
    width: 5000px;
    filter: contrast(0.9) brightness(1.5) saturate(0.9);
}

#poc_affiche {
    position: absolute;
    top: 500px;
    left: 2800px;
    z-index: 9;
    transform: rotate(-4deg);
}

#poc_affiche img {
    width:900px;
    box-shadow: 9px 4px 20px 0px #0000005e;
}

#poc_post-it_menu {
    position: absolute;
    top: 2000px;
    left: 2800px;
    z-index: 10;
    transform: rotate(4deg);
}

#poc_post-it_menu img {
    width:500px;
}

#poc_stga {
    position: absolute;
    top: 3100px;
    left: 3500px;
    z-index: 9;
}

#poc_stga img {
    width: 450px;
}

#poc_magnet_baraka {
    position: absolute;
    top: 2377px;
    left: 1715px;
    z-index:11;
}

#poc_magnet_baraka img {
    width: 160px;
}

#poc_magnet_charente {
    position: absolute;
    top: 1966px;
    left: 2992px;
    z-index: 11;
    transform: rotate(10deg);
}

#poc_magnet_charente img {
    width: 180px;
}

#poc_magnet_obelix {
    position: absolute;
    top: 2100px;
    left: 3385px;
    z-index:11;
}

#poc_magnet_obelix img {
    width: 200px;
}

#poc_magnet_magelis {
    position: absolute;
    top: 2828px;
    left: 2346px;
    z-index: 11;
    transform: rotate(352deg);
}

#poc_magnet_magelis img {
    width: 200px;
}

#poc_magnet_chat {
    position: absolute;
    top: 310px;
    left: 3100px;
    z-index: 11;
}

#poc_magnet_chat img {
    width: 309px;
}

#poc_magnet_chien {
    position: absolute;
    top: 3023px;
    left: 3600px;
    z-index: 11;
}

#poc_magnet_chien img {
    width: 233px;
}

#poc_magnet_biere {
    position: absolute;
    top: 3500px;
    left: 1629px;
    z-index: 11;
}

#poc_magnet_biere img {
    width: 255px;
}

#poc_magnet_tomate {
    position: absolute;
    top: 3439px;
    left: 2279px;
    z-index: 11;
}

#poc_magnet_tomate img {
    width: 250px;
}

#poc_magnet_domino {
    position: absolute;
    top: 430px;
    left: 1785px;
    z-index: 11;
}

#poc_magnet_domino img {
    width: 300px;
}

#poc_magnet_coccinelle {
    position: absolute;
    top: 1694px;
    left: 2200px;
    z-index: 11;
}

#poc_magnet_coccinelle img {
    width: 200px;
}

#poc_magnet_theiere {
    position: absolute;
    top: 915px;
    left: 2286px;
    z-index: 11;
}

#poc_magnet_theiere img {
    width: 220px;
}

#poc_coloc {
    position: absolute;
    top: 1130px;
    left: 1425px;
    z-index: 9;
}

#poc_coloc img {
    width: 550px;
}

#poc_cookie {
    position: absolute;
    top: 3200px;
    left: 1700px;
    z-index: 9;
    transform: rotate(-6deg);
}

#poc_cookie img {
    width: 230px;
    box-shadow: -12px 9px 10px #00000030;
    border-radius: 50%;
    filter: saturate(2);
}

#poc_charente {
    position: absolute;
    top: 1737px;
    left: 2085px;
    z-index: 9;
}

#poc_charente img {
    width: 580px;
}

#poc_carte_postale {
    position: absolute;
    top: 2880px;
    left: 2100px;
    z-index: 9;
    transform: rotate(6deg);
}

#poc_carte_postale img {
    width: 650px;
}

#poc_photo_2023 {
    position: absolute;
    top: 559px;
    left: 1494px;
    transform: rotate(-2deg);
    z-index: 9;
}

#poc_photo_2023 img {
    box-shadow: 11px 3px 10px 0px #00000021;
    width: 650px;
}

#poc_moustique {
    position: absolute;
    top: 590px;
    left: 2300px;
    transform: rotate(2deg);
    z-index: 9;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#poc_moustique img {
    width:300px;
    border-radius: 50px;
}

#poc_moustique span {
    font-size: 140px;
    font-weight: bold;
    margin-bottom: -.3em;
    color: var(--color_06);
    text-shadow: 4px 4px 0px #9d5280;
    position: absolute;
    top: -170px;
    animation: quest 1s ease-in-out infinite;
}

@keyframes quest {
    0% {
        top: -160px;
    }
    50% {
        top: -180px;
    }
    100% {
        top: -160px;
    }
}

#poc_boussole_2025 {
    position: absolute;
    top: 3449px;
    left: 3328px;
    transform: rotate(6deg);
    z-index: 9;
}

#poc_boussole_2025 img {
    width: 250px;
}

#poc_photo_2025 {
    position: absolute;
    top: 3542px;
    left: 3069px;
    transform: rotate(6deg);
    z-index: 9;
}

#poc_photo_2025 img {
    width: 650px;
    box-shadow: 11px 3px 10px 0px #00000030;
}

#poc_presentation {
    position: absolute;
    top: 1050px;
    left: 2060px;
    z-index: 9;
    background-color: var(--color_02);
    transform: rotate(4deg);
    padding: 5em 5em 4em;
    width: 615px;
}

#poc_presentation::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #f0c445, transparent 14%);
    z-index: 0;
}

#poc_presentation::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(#ffc107, #ffeaac);
    background-size: 3px 2px;
    z-index: -1;
}

#poc_presentation p {
    font-size: 18px;
}

#poc_footer {
    position: absolute;
    top: 3600px;
    left: 1300px;
    z-index: 9;
    background-color: var(--color_04);
    transform: rotate(4deg);
    padding: 2em 4em;
    width: 490px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    pointer-events: auto !important;
}

#poc_footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, var(--color_04), transparent 14%);
    z-index: 0;
    pointer-events: none !important;
}

#poc_footer::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(var(--color_04), #68bcfd);
    background-size: 3px 2px;
    z-index: -1;
    pointer-events: none !important;
}

#canvas #poc_footer * {
    pointer-events: auto !important;
}

#poc_footer p {
    margin-bottom:0;
    text-align:center;
}

#poc_footer a {
    color: var(--color_05);
        font-weight: bold;
}

#poc_footer img {
    width: 200px;
    filter: grayscale(1) contrast(0) sepia(1) saturate(4.5) brightness(1.5);
    margin: 1em 0 1.5em;
}

#poc_footer a:hover {
    color: white;
}

.poc_hover_01 img {
    transition:all ease 300ms;
}

.poc_hover_01 img:hover {
    transform: rotate(2deg) scale(1.05);
    filter: brightness(1.1);
}

.poc_clickable {
    cursor: pointer;
}

/* Active pointer-events UNIQUEMENT sur les éléments qui doivent être interactifs */
.poc_clickable,
.poc_map_magnets,
.poc_hover_01,
.poc_fixed,
#poc_logo,
#poc_post-it_menu,
#poc_fridge,
#poc_post-it_navettes,
#poc_arrets_navettes,
#poc_lineup,
#poc_dessin_enfants,
#poc_liste_lieux,
#poc_affiche,
#poc_stga,
#poc_coloc,
#poc_charente,
#poc_carte_postale,
#poc_presentation,
#poc_footer,
.poc_map_magnets img,
.poc_hover_01 img,
.poc_fixed img {
    pointer-events: auto !important;
}

#poc_gomettes,
#poc_gomettes img {
    pointer-events: none !important;
}

/* Désactive pointer-events par défaut sur #canvas */
#canvas {
    pointer-events: auto; /* Important : permet à #vp de capturer les événements */
}

/* Active pointer-events sur tous les éléments enfants */
#canvas * {
    pointer-events: auto;
}

/* Désactive pointer-events sur les éléments non cliquables (si nécessaire) */
.poc_fixed:not(.poc_clickable) {
    pointer-events: none;
}


/* //////////////////////////////////////////////////////////// POP-UP ///////////////////////////////////////////////////////////////////////////////////// */

#poc_popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 200;
    align-items: center;
    justify-content: center;
}

#poc_popup.is-open {
    display: flex;
}

#poc_popup_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    animation: fadeIn 250ms ease forwards;
}

#poc_popup_panel {
    position: relative;
    z-index: 1;
    max-width: 1300px;
    width: 90%;
    max-height: 90vh;
    padding: 2.5em;
    display: flex;
    gap: 1.5em;
    animation: popIn 300ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    overflow: hidden;
    align-items: center;
}

#poc_popup_close {
    position: absolute;
    top: 1em;
    right: 1em;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
    color: var(--color_04);
    font-weight: bold;
}

#poc_popup_img_wrap {
    width:50%;
    height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

#poc_popup_img_wrap img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    display: block;
    border-radius: 40px;
    object-fit: contain;
}

#poc_popup_body {
    position:relative;
    background-color: var(--color_05);
    padding: 4em 3em 3em;
    border-radius: 40px;
    width: 50%;
    border: 10px solid white;
    max-height: 90vh;
    overflow-y: auto;
}

#poc_popup_title {
    margin-bottom: .5em;
}

#poc_popup_text {
    margin: 0;
    line-height: 1.6;
}

#poc_popup_link {
    display: inline-block;
    padding: 0.8em 2em;
    background: var(--color_01, #000);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    align-self: flex-start;
}

#poc_popup_link:empty {
    display: none;
}

#poc_popup_link_button {
    padding:0;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes popIn {
    from { opacity: 0; transform: scale(0.92); }
    to   { opacity: 1; transform: scale(1); }
}


.poc_popup_container {
    display:flex;
    gap: .5em;
    padding: .5em .5em;
}

.poc_popup_info_name {
    font-weight: bold;
    min-width: 22%;
    color: var(--color_01);
}

#poc_popup_additional_info {
    margin: 1em 1.5em 0;
    display: none;
}

#poc_popup_social {
    margin: 1em 0 0;
    display: flex;
    gap: .5em;
    justify-content: center;
}

#poc_popup_social a {
    display: none; 
    border-radius: 5px;
    text-decoration: none;
}

#poc_popup_social a img {
    transition:all ease 200ms;
    border-radius:50px;
}

#poc_popup_social a:hover img {
    transform: rotate(-7deg) scale(1.15);
    filter: brightness(1.1);
    box-shadow:4px 3px 7px #00000063
}

.separator {
    border-bottom: 1px solid var(--color_01);
}

#poc_popup_img_wrap_inline {
    display: none;
}


/* //////////////////////////////////////////////////////////// POPUP LÉGALE ///////////////////////////////////////////////////////////////////////////////////// */

#poc_legal_popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2000;
    align-items: center;
    justify-content: center;
}

#poc_legal_popup.is-open {
    display: flex;
}

#poc_legal_popup_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    animation: fadeIn 250ms ease forwards;
}

#poc_legal_popup_panel {
    position: relative;
    z-index: 1;
    max-width: 800px;
    width: 90%;
    max-height: 85vh;
    overflow-y: auto;
    padding: 3em;
    background-color: var(--color_05);
    border-radius: 40px;
    border: 10px solid white;
    animation: popIn 300ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

#poc_legal_popup_close {
    position: absolute;
    top: 1em;
    right: 1.2em;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
    color: var(--color_04);
    font-weight: bold;
    padding: 0;
    margin: 0;
}

#poc_legal_popup_title {
    margin-bottom: 1em;
}

#poc_legal_popup_content {
    line-height: 1.7;
    font-size: 18px;
}

/* Style des boutons légaux dans le footer */
.poc_legal_link {
    background: none;
    border: none;
    color: var(--color_05);
    font-weight: bold;
    cursor: pointer;
    font-size: inherit;
    padding: 0;
    margin: 0;
    box-shadow: none;
    transform: none;
}

.poc_legal_link:hover {
    color: white;
    background: none;
    box-shadow: none;
    transform: none;
}

/* //////////////////////////////////////////////////// LETTRE SUR LE FRIGO /////////////////////////////////////////////////////////////////////////////// */


.letter {
    display: inline-block;
    font-weight: bold;
    text-align: center;
    text-shadow: .25vmin .25vmin .25vmin rgba(0, 0, 0, .25);
    position: absolute;
    top: 4090px;
    left: 1460px;
    z-index: 10;
    transform: rotate(5deg);
    user-select: none;
    pointer-events: auto; 
}

.letter span {
    display: inline-block;
    font-size: 140px;
    position: relative;
    cursor: move;
    user-select: none;
    pointer-events: auto !important;
    font-family: "Lilita One";
}

.letter .dotted:before {
    content: "|";
    font-size: 50%;
    left: 50%;
    position: absolute;
    top: 15%;
    transform: translate(-50%, 0);
    z-index: -1;
}

.letter span.dragging {
    opacity: 0.7;
    z-index: 1000;
    transform: rotate(0deg) !important;
    position: absolute !important;
}


/* //////////////////////////////////////////////////////////// POST IT  ///////////////////////////////////////////////////////////////////////////////////// */


.poc_post-it_displayed_message {
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 55%;
    height: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 28px;
    font-family: "Oooh Baby", sans-serif;
    color: black;
    word-break: break-word;
    padding: 1em;
    pointer-events: none; /* Pour ne pas bloquer les clics sur le post-it */
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease;
    transform-origin: 1615% -1289%;
}

.poc_post-it_displayed_message[style*="display: flex"] {
    opacity: 1;
}

/* Style pour la popup avec textarea */
#poc_popup_body.poc_post-it-popup {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#poc_popup_body.poc_post-it-popup #poc_popup_text {
    margin-bottom: 15px;
}

.poc_post-it_textarea_container {
    width: 100%;
    margin-bottom: 15px;
}

.poc_post-it_textarea_container textarea {
    width: 100%;
    min-height: 150px;
    padding: 1em;
    border-radius: 5px;
    font-family: Arial, sans-serif;
    resize: vertical;
    box-sizing: border-box;
    background-color: var(--color_02);
}

.poc_post-it_save_button {
    background-color: var(--color_04);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    margin-top: 10px;
}

.poc_post-it_save_button:hover {
    background-color: var(--color_02);
}

.poc_hover_01:hover .poc_post-it_displayed_message {
    transform: rotate(2deg);
}



/* ////////////////////////////////////////////////////////// HUD ///////////////////////////////////////////////////////////////////////////////////// */

#hud {
    position: absolute;
    bottom: 0;
    display: flex;
    gap: 1em;
    font-size: .8em;
    z-index: 100;
    width: fit-content;
    justify-content: center;
    align-items: center;
    margin: 1em auto;
    background-color: var(--color_05);
    padding: .8em 2em;
    left: 0;
    right: 0;
    border-radius: 17px;
    box-shadow: 0px 0px 12px 1px #80ba0085;
    opacity: .7;
    transition:all ease 300ms;
    user-select: none;
}

#hud:hover {
    opacity: 1;
}

#scale-label { 
    font-weight: 500; 
    color: var(--color-text-primary); 
    min-width: 36px; 
    text-align: center; 
    opacity: .75;
    line-height: 0;
}

#zoom-controls {
    display: flex;
    gap: 0.3em;
}

#zoom-label {
    display:flex;
    align-items:center;
}

#zoom-out-btn:hover, #zoom-in-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#zoom-out-btn:active, #zoom-in-btn:active {
    transform: scale(0.95);
}

#zoom-fit-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#zoom-fit-btn:active {
    transform: scale(0.95);
}

.hud_button {
    background-color: var(--color_01_D);
    color: var(--color_05);
    width: 28px;
    height: 28px;
    border: none;
    font-size: 1.8em;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all ease 250ms;
    padding: .7em;
    margin: 0;
}

.hud_button:hover {
    background-color: var(--color_06);
}

.hud_button img {
    width: 22px;
}



/* //////////////////////////////////////////////////////////// QUIZZ ///////////////////////////////////////////////////////////////////////////////////// */

#poc_popup_body.poc_quizz-popup {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#poc_quizz_container {
    width: 100%;
    margin-top: 0.5em;
    display: flex;
    flex-direction: column;
    gap: 0.8em;
}

#poc_quizz_step_intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Barre de progression */
#poc_quizz_progress {
    width: 100%;
    height: 10px;
    background-color: #ffffff80;
    border-radius: 10px;
    overflow: hidden;
}

#poc_quizz_progress_bar {
    height: 100%;
    background-color: var(--color_04);
    border-radius: 10px;
    transition: width 0.4s ease;
    width: 0%;
}

#poc_quizz_counter {
    font-size: 15px;
    opacity: 0.6;
    text-align: right;
}

/* Question */
#poc_quizz_step_question {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
}

#poc_quizz_question_text {
    font-weight: bold;
    font-size: 18px;
    text-align: center;
    margin: 0;
}

#poc_quizz_choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8em;
    width: 100%;
}

.poc_quizz_choice {
    padding: 0.8em 1em;
    font-size: 18px;
    font-weight: bold;
    background-color: var(--color_04);
    color: white;
    border: 0px solid white;
    border-radius: 50px;
    cursor: pointer;
    transition: all ease 200ms;
    transform: rotate(0deg);
    margin: 0;
}

.poc_quizz_choice:hover {
    background-color: var(--color_06);
    color: var(--color_05);
    transform: rotate(0deg) scale(1.05);
    box-shadow: 3px 3px 4px rgba(0,0,0,0.15);
}

/* Résultat intermédiaire */
#poc_quizz_step_result {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1em;
    padding: 1.2em;
    border-radius: 16px;
    animation: popIn 300ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

#poc_quizz_step_result.correct { background-color: var(--color_01); color: white; }
#poc_quizz_step_result.wrong   { background-color: var(--color_03); color: white; }

#poc_quizz_result_message {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    margin: 0;
}

#poc_quizz_next {
    background-color: white;
    color: var(--color_04);
    border: 4px solid white;
    font-size: 18px;
    border-radius: 10px;
    padding: 0.6em 1.5em;
    cursor: pointer;
    font-weight: bold;
    transition: all ease 200ms;
    margin: 0;
    transform: rotate(0deg);
}

#poc_quizz_next:hover {
    transform: rotate(-2deg) scale(1.05);
    box-shadow: 3px 3px 0 rgba(0,0,0,0.2);
}

/* Score final */
#poc_quizz_step_final {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1em;
    padding: 1.5em;
    background-color: var(--color_02);
    border-radius: 16px;
    animation: popIn 300ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

#poc_quizz_final_message {
    font-size: 18px;
    margin: 0;
    font-weight: bold;
}

#poc_quizz_final_message strong {
    font-size: 36px;
    display: block;
    color: var(--color_04);
}

#poc_quizz_final_message span {
    font-size: 18px;
    font-weight: normal;
    display: block;
}

#poc_quizz_restart {
    background-color: var(--color_04);
    color: white;
    border: 4px solid white;
    font-size: 18px;
    border-radius: 10px;
    padding: 0.6em 1.5em;
    cursor: pointer;
    font-weight: bold;
    transition: all ease 200ms;
    margin: 0;
    transform: rotate(0deg);
}

#poc_quizz_restart:hover {
    transform: rotate(-2deg) scale(1.05);
    box-shadow: 3px 3px 0 rgba(0,0,0,0.2);
}

/* Confettis */
@keyframes confettiFall {
    0%   { transform: translateY(0) rotate(0deg); opacity: 1; }
    100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}


/* Tooltip pour les ingrédients du frigo */
.frigo_ing_tooltip {
    position: absolute;
    background-color: var(--color_06);
    color: var(--color_05);
    padding: .5em 1.5em;
    border-radius: 50px;
    font-size: 18px;
    font-weight: bold;
    pointer-events: none;
    z-index: 10000;
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.1s ease;
    transform: translate(-50%, -100%);
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transform: translate(30px, 15px);
}

.frigo_ing_tooltip.visible {
    opacity: 1;
}



/* ////////////////////////////////////////////////////////// INSTAGRAM WEBVIEW /////////////////////////////////////////////////////////////////////////////////// */


.is-instagram-webview .poc_fixed,
.is-instagram-webview .poc_hover_01,
.is-instagram-webview .poc_map_magnets {
    will-change: auto !important;
}

.is-instagram-webview * {
    transition: none !important;
}

#poc_webview_msg {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background-color: var(--color_04);
    color: white;
    padding: 1.5em 2em;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
}

#poc_webview_msg a {
    background-color: white;
    color: var(--color_06);
    font-size: 16px;
    padding: 0.5em 1.5em;
    margin: 0;
    border-radius:20px;
}

#poc_webview_msg p {
    margin: 0;
    color: white;
}

#poc_webview_msg button {
    color: var(--color_05);
    background-color:none;
    font-size: 14px;
    border:none;
    margin-top:-.8em;
}



/* ////////////////////////////////////////////////////////// MENU  ///////////////////////////////////////////////////////////////////////////////////// */


#header_menu {
    /* box-shadow: 1px 1px 7px #c4c4c4; */
}

#body-homepage.menu-scrolled::before {
    opacity: 0;
}

#body-homepage.menu-top::before {
    opacity: 1;
}

#header_menu.header_menu_scrollup, 
#header_menu.header_menu_scrolldown {
    border-radius: 50px;
    width: 98% !important;
    margin-left: 1% !important;
    top:.8em !important;
}

#header_menu {
    transition: top 0.3s ease-in;
}

.animate-down {
    animation: slideDown 0.5s ease-out forwards;
}

@keyframes slideDown {
    0% {
        transform: translateY(-3em) scale(0.9);
        opacity: 0.8;
    }
    100% {
    transform: translateY(0) scale(1);
        opacity: 1;
    }
}


.header_menu_scrollup #menu .menu-item a .menu-a,
.header_menu_scrolldown #menu .menu-item a .menu-a,
.header_menu_scrollup #menu .page_item a .menu-a, 
.header_menu_scrolldown #menu .page_item a .menu-a {
    color: var(--color_02) !important;
} 

.header_menu_scrollup #menu .current_page_item a .menu-a, 
.header_menu_scrolldown #menu .current_page_item a .menu-a,
.header_menu_scrollup #menu .menu-item a:hover .menu-a,
.header_menu_scrolldown #menu .menu-item a:hover .menu-a {
    color: var(--color_01) !important;
}

.header_menu_scrollup #menu .current_page_item a:hover .menu-a,
.header_menu_scrolldown #menu .current_page_item a:hover .menu-a {
    color: var(--color_01_L) !important;
}

#menu .sub-menu {
    top: 2.7em;
    left: -3.4em;
    padding: 0.8em 0.5em 0.8em;
    border-top: 2px solid var(--color_02);
    border-left:0;
    margin-left: 0;
    border-radius: 18px;
    align-items: center;
}

#menu .sub-menu li {
    line-height: 1.8em;
}

#header_menu #menu .sub-menu .menu-a {
    text-align: center;
}

.header_menu_scrollup #menu a {
    justify-content: center !important;
}

.header_menu_scrolldown {
    opacity: 1;
    visibility: visible;
}

.header_menu_scrolldown #logo {
    width: 6.2em;
}

.header_menu_top #menu .sub-menu {
    background-color: rgba(126, 76, 46, 0.87);
    border-top:0;
}

#menu .menu-nous-soutenir {
    background-color: var(--color_01_L);
    border-radius: 50px;
    margin-left: .5em;
    transition: all ease 300ms;
}

#menu .menu-nous-soutenir a .menu-a {
    color:var(--color_02_D);
    padding: .5em 0.2em;
}

#menu .menu-nous-soutenir:hover {
    background-color: var(--color_03);
    box-shadow: 0px 0px 16px #d8ab7767;
    transition: all ease 500ms;
}

#menu .menu-nous-soutenir:hover a .menu-a {
    color: var(--color_02_D);
    transition: all ease 500ms;
}

.header_menu_scrolldown #menu .menu-nous-soutenir a:hover .menu-a,
.header_menu_scrollup #menu .menu-nous-soutenir a:hover .menu-a {
    color: var(--color_02_D) !important;
    transition: all ease 500ms;
}

#body-page .header_menu_top #menu .menu-item a .menu-a, 
#body-page .header_menu_top #menu .page_item a .menu-a {
    color: var(--color_02);
}

#body-page .header_menu_top #menu .current_page_item .sub-menu a .menu-a {
    color: var(--color_02);
}

#body-page .header_menu_top #menu .current_page_item a .menu-a, 
#body-page .header_menu_top #menu .menu-item a:hover .menu-a {
    color: var(--color_01);
}

#body-page .header_menu_top #menu .current_page_item a:hover .menu-a {
    color: var(--color_01_L);
}

#body-page .header_menu_top #menu .sub-menu {
    background-color: var(--color_03_L);
    border-top: 1px solid var(--color_02_L);
}

#body-page .header_menu_top #menu .sub-menu a {
    font-size: 1em;
}

#body-page .header_menu_top #menu .menu-nous-soutenir a:hover .menu-a {
    color:var(--color_02_DD);
}

.page-nous-soutenir .header_menu_scrolldown #menu .current_page_item.menu-nous-soutenir a .menu-a,
.page-nous-soutenir .header_menu_scrollup #menu .current_page_item.menu-nous-soutenir a .menu-a,
.page-nous-soutenir .header_menu_top #menu .menu-nous-soutenir a .menu-a {
    color: var(--color_02_D) !important;
}


/* ANIMATION DU MENU */

#menu .menu-item {
    display:flex;
    justify-content: center;
    opacity: 0;
}

#body-page #menu .menu-item {
    opacity: 1;
}

#body-homepage.menu-loaded #menu .menu-item {
    animation: fadeInUp 0.5s ease forwards;
}


@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#body-homepage.menu-loaded #menu .sub-menu .menu-item {
    animation:unset;
    animation: fadeInDown_items 0.3s ease forwards;
}

@keyframes fadeInDown_items {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#body-homepage.menu-loaded #menu .sub-menu {
    animation: fadeInDown 0.3s ease forwards;
    transform-origin: top;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: scale(0.8) translateY(-15px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* MENU MOBILE */

.is_menu_mobile #menu li {
    width:auto;
}

.is_menu_mobile #menu .menu-nous-soutenir .menu-a {
    padding: .8em 2em;
}

.is_menu_mobile .menu-item-has-children {
    flex-direction: column;
}

.is_menu_mobile .menu-item-has-children .sub-menu {
    margin-top: .7em;
}

.is_menu_mobile #menu .menu-item {
    justify-content: left;
}

.is_menu_mobile #menu .sub-menu {
    margin-top: 0;
    border-top: 0;
}

.is_menu_mobile #menu .sub-menu a {
    margin-left:2em;
}

.is_menu_mobile #menu .sub-menu li {
    margin-bottom: 0rem;
}

.is_menu_mobile #menu .sub-menu {
    animation: none;
}

.is_menu_mobile #menu a {
    justify-content: left !important;
}

.is_menu_mobile #menu .sub-menu .menu-a {
    text-align: left !important;
}

.is_menu_mobile #menu .menu-nous-soutenir {
    margin-left: -.2em;
}

.is_menu_mobile #menu .menu-item-has-children {
    margin-bottom:0;
}

.is_menu_mobile #menu .sub-menu {
    background-color: unset;
}

.is_menu_mobile #menu .menu-item a .menu-a, 
.is_menu_mobile #menu .page_item a .menu-a {
    color: var(--color_02);
}

.is_menu_mobile #menu .current_page_item a .menu-a {
    color: var(--color_01_L);
}

.is_menu_mobile #menu .menu-item a:hover .menu-a {
    color: var(--color_01_L);
}

.is_menu_mobile #menu .current_page_item:hover a .menu-a {
    color: var(--color_03);
}

.is_menu_mobile #menu .menu-nous-soutenir a:hover .menu-a {
    color: var(--color_02);
}

.header_menu_top #menu_burger .burger_bar {
    background-color:var(--color_01_L);
}

.header_menu_top #menu_burger:hover .burger_bar {
    background-color:var(--color_03_L);
}

#body-page .header_menu_top #menu_burger .burger_bar {
    background-color:var(--color_02_D);
}

#body-page .header_menu_top #menu_burger:hover .burger_bar {
    background-color:var(--color_01);
}

#body-page .is_menu_mobile #menu .sub-menu {
    border-top: 0;
}


#header_menu {
    border-radius: 50px;
    width: 98% !important;
    margin-left: 1% !important;
    top: .8em !important;
}



/* ////////////////////////////////////////////////////// PARTICIPANTS ////////////////////////////////////////////////////// */

.page-participants .page {
    flex-direction:row;
    align-items: flex-start;
    column-gap: 4em;
}

.post-it {
    position: relative;
    background-color: var(--color_02);
    padding: 4em 3em 3em;
    transform: rotate(-6deg);
    margin-top: 7em;
    margin-left:-3em;
}

.post-it::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #f0c445, transparent 14%);
    z-index: 0;
}

.post-it::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(#ffc107, #ffeaac);
    background-size: 3px 2px;
    z-index: -1;
}

.post-it_shadow {
    position:absolute;
    top: 2%;
    left: 0;
    z-index: -3;
    width: 98%;
    height: 98%;
    box-shadow: -2px 5px 8px 0px #757575;
    transform: rotate(-1deg);
    transform-origin: top left;
}

.post-it #page_text p {
    font-family: "Oooh Baby";
    font-size:18px;
    font-weight:bold;
}

.post-it-magnet {
    position: absolute;
    top: -55px;
    right: -55px;
    transform: rotate(8deg);
}

.post-it-magnet img {
    width: 140px;
    filter: saturate(1.5) hue-rotate(-18deg);
}

#buttons_gal {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 2em;
    margin-bottom: 1em;
}

.button_gal_actif {
    background-color: var(--color_03);
    box-shadow: 5px 4px 2px #787878;
    transform: rotate(-5deg);
}

.gal {
    display: flex;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    overflow: hidden;
    gap:.8em;
    padding: 1em 0;
}

.gal a {
    width: calc(25% - .8em);
    aspect-ratio: 1;
    position: relative;
}

.gal_img {
    width: 100%;
    border-radius: 15%;
    border: 10px solid white;
    box-shadow: 1px 3px 6px #b4b4b4;
    aspect-ratio: 1;
    filter: saturate(2.3) hue-rotate(-23deg);
    transition:all ease 250ms;
}

.gal_img:hover {
    transform:rotate(5deg) scale(1.05);
}

.gal_img_hover {
    position: absolute;
    z-index: 10;
    top: 40%;
    display:none;
}

#gal_night {
    display: none;
}



/* /////////////////////////////////////////////////////////////////////// RESPONSIVE ////////////////////////////////////////////////////////////////////////// */


/* ---------------------------- Ecran Ordinateurs ---------------------------- */

@media (max-width: 1700px) {


}

@media (max-width: 1580px) {

}


@media (max-width: 1440px) {

}

@media (max-width: 1280px) {

}

@media (max-width: 1150px) {

    .poc_popup_container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

}

@media (max-width: 1024px) {

}

@media (max-width: 960px) {

    #poc_popup_panel {
        flex-direction: column;
        overflow: auto;
    }

    #poc_popup_img_wrap {
        display: none;
    }

    #poc_popup_img_wrap_inline {
        display: flex;
        justify-content: center;
        margin-bottom: 1.5em;
    }

    #poc_popup_img_wrap_inline img {
        max-width: 90%;
        max-height: 40vh;
        border-radius: 0;
        display: block;
    }

    #poc_popup_body {
        width: 100%;
    }

}
@media (max-width: 860px) {

    #poc_popup_img_wrap {
        width: 65%;
    }

}



/* ORDI ET MOBILE */

@media (max-width: 768px) {

    body {
        min-height:auto;
        max-height: 100dvh;
    }

    main {
        max-height: 100dvh;
    }

    .poc_fixed, .poc_hover_01, .poc_map_magnets {
        will-change: unset !important;
    }

    .poc_map_magnets:hover img,
    .poc_hover_01 img:hover {
        filter: none !important;
    }

    #poc_popup_panel {
        width: 100%;
        max-height: 98dvh;
        padding: 1em;
        gap: 1em;
    }

    #poc_popup_img_wrap {
        width: 90%;
    }

    #poc_popup_img_wrap img {
        max-height: 45dvh;
    }

    #poc_quizz_choices {
        grid-template-columns: auto;
    }
    
    #fridge_backdoor_close {
        top:unset;
        right:unset;
        bottom:10dvh;
    }

    #poc_tampon_01 img,
    #poc_tampon_02 img,
    #poc_tampon_03 img {
        transform: scaleX(-1.2);
    }

    #frigo_ingredients_noise {
        mix-blend-mode: normal !important;
    }

    
}

@media (max-width: 620px) {


}

@media (max-width: 540px) {

}


@media (max-width: 480px) {

}



/* ---------------------------- Ecran iPhone/iPad ---------------------------- */

@media (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {
    .poc_fixed,
    .poc_hover_01,
    .poc_map_magnets {
        will-change: unset !important;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }

    #canvas_inner {
        perspective: none;
        -webkit-perspective: none;
        transform-style: flat;
        -webkit-transform-style: flat;
    }
}

@supports (-webkit-touch-callout: none) {
    #frigo_ingredients_noise {
        mix-blend-mode: normal !important;
    }
}


/* --------------------------- Safari UNIQUEMENT --------------------------- */

@supports (background: -webkit-named-image(i)) {
    #canvas {
        contain: none;
    }
    
    #frigo_ingredients_noise {
        will-change: unset;
    }
    
    .poc_fixed,
    .poc_hover_01,
    .poc_map_magnets {
        will-change: unset;
    }
}

@media not all and (min-resolution: 0.001dpcm) {
    @supports (-webkit-appearance: none) {
        .poc_gomette {
            aspect-ratio: unset !important; 
        }
    }
}



/* ---------------------------- Ecran Mobiles ---------------------------- */

@media all and (max-device-width:480px) {

    
}

@media (orientation: landscape) and (max-device-width: 768px) {
  
}





/* ---------------------------- Ecran avec ZOOM ---------------------------- */

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) {

}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:1400px) {
      

}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:1280px) {
      

}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:1150px) {
      
}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:960px) {

}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:768px) {

}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:600px) {


}

@media screen and (min-resolution: 1.10dppx) and (max-resolution: 1.25dppx) and (max-width:480px) {


}