/* ============================================================
   BA-2485 - LP "Le grand jeu des 10 ans"
   Controller : JeuConcoursController (body#jeuconcours)
   Tokens Meridian (tokens.css maquette) scopés sous .jeu-concours
   (la popin est déplacée dans un conteneur .jeu-concours au niveau du body).
   Font Hanken Grotesk déjà chargée par le thème.
   ============================================================ */

.jeu-concours {
    --color-neutral-0:    #ffffff;
    --color-neutral-50:   #f9f9f9;
    --color-neutral-100:  #f2f2f2;
    --color-neutral-150:  #e6e6e6;
    --color-neutral-200:  #d9d9d9;
    --color-neutral-250:  #cccccc;
    --color-neutral-300:  #bfbfbf;
    --color-neutral-350:  #b3b3b3;
    --color-neutral-400:  #a6a6a6;
    --color-neutral-450:  #8c8c8c;
    --color-neutral-500:  #808080;
    --color-neutral-550:  #737373;
    --color-neutral-600:  #666666;
    --color-neutral-650:  #595959;
    --color-neutral-700:  #4d4d4d;
    --color-neutral-750:  #404040;
    --color-neutral-800:  #333333;
    --color-neutral-850:  #262626;
    --color-neutral-900:  #1a1a1a;
    --color-neutral-950:  #0b0b0c;
    --color-neutral-1000: #000000;
    --color-red-100: #fef2f2;
    --color-red-200: #fde1e1;
    --color-red-300: #fbbebe;
    --color-red-400: #f99393;
    --color-red-500: #f75556;
    --color-red-600: #e80206;
    --color-red-700: #c90205;
    --color-red-800: #a40104;
    --color-red-900: #740103;
    --color-green-100: #f2fef2;
    --color-green-200: #e1fde1;
    --color-green-300: #bffbbe;
    --color-green-400: #95f893;
    --color-green-500: #58f655;
    --color-green-600: #17e702;
    --color-green-700: #14c802;
    --color-green-800: #10a301;
    --color-green-900: #0b7301;
    --color-orange-100: #fef6f2;
    --color-orange-200: #fdebe1;
    --color-orange-300: #fbd4be;
    --color-orange-400: #f8bb93;
    --color-orange-500: #f69e55;
    --color-orange-600: #e78502;
    --color-orange-700: #c87302;
    --color-orange-800: #a35e01;
    --color-orange-900: #734201;
    --color-yellow-100: #fefbf2;
    --color-yellow-200: #fdf6e1;
    --color-yellow-300: #fbecbe;
    --color-yellow-400: #f8e293;
    --color-yellow-500: #f6d855;
    --color-yellow-600: #e7c602;
    --color-yellow-700: #c8ab02;
    --color-yellow-800: #a38c01;
    --color-yellow-900: #736301;
    --size-0:  0;
    --size-1:  2px;
    --size-2:  4px;
    --size-3:  8px;
    --size-4:  16px;
    --size-5:  24px;
    --size-6:  32px;
    --size-7:  40px;
    --size-8:  48px;
    --size-9:  56px;
    --size-10: 64px;
    --size-11: 80px;
    --size-12: 96px;
    --size-13: 120px;
    --size-14: 144px;
    --size-15: 200px;
    --size-16: 256px;
    --device-mobile-width:  393px;
    --device-mobile-height: 852px;
    --device-tablet-width:  834px;
    --device-tablet-height: 1194px;
    --device-desktop-width:  1536px;
    --device-desktop-height: 864px;
    --color-surface-0:  var(--color-neutral-0);
    --color-surface-1:  var(--color-neutral-50);
    --color-surface-2:  var(--color-neutral-100);
    --color-surface-3:  var(--color-neutral-150);
    --color-surface-4:  var(--color-neutral-200);
    --color-surface-5:  var(--color-neutral-350);
    --color-surface-6:  var(--color-neutral-550);
    --color-surface-7:  var(--color-neutral-800);
    --color-surface-8:  var(--color-neutral-850);
    --color-surface-9:  var(--color-neutral-900);
    --color-surface-10: var(--color-neutral-950);
    --color-background-neutral-0:  var(--color-neutral-0);
    --color-background-neutral-1:  var(--color-neutral-50);
    --color-background-neutral-2:  var(--color-neutral-100);
    --color-background-neutral-3:  var(--color-neutral-150);
    --color-background-neutral-4:  var(--color-neutral-200);
    --color-background-neutral-5:  var(--color-neutral-350);
    --color-background-neutral-6:  var(--color-neutral-550);
    --color-background-neutral-7:  var(--color-neutral-800);
    --color-background-neutral-8:  var(--color-neutral-850);
    --color-background-neutral-9:  var(--color-neutral-900);
    --color-background-neutral-10: var(--color-neutral-950);
    --color-background-red-light:    var(--color-red-200);
    --color-background-red-dark:     var(--color-red-800);
    --color-background-green-light:  var(--color-green-200);
    --color-background-green-dark:   var(--color-green-900);
    --color-background-orange-light: var(--color-orange-200);
    --color-background-orange-dark:  var(--color-orange-700);
    --color-background-yellow-light: var(--color-yellow-200);
    --color-background-yellow-dark:  var(--color-yellow-600);
    --color-border-neutral-0:  var(--color-neutral-0);
    --color-border-neutral-1:  var(--color-neutral-50);
    --color-border-neutral-2:  var(--color-neutral-100);
    --color-border-neutral-3:  var(--color-neutral-150);
    --color-border-neutral-4:  var(--color-neutral-200);
    --color-border-neutral-5:  var(--color-neutral-350);
    --color-border-neutral-6:  var(--color-neutral-550);
    --color-border-neutral-7:  var(--color-neutral-800);
    --color-border-neutral-8:  var(--color-neutral-850);
    --color-border-neutral-9:  var(--color-neutral-900);
    --color-border-neutral-10: var(--color-neutral-950);
    --color-border-red-light:    var(--color-red-200);
    --color-border-red-dark:     var(--color-red-800);
    --color-border-green-light:  var(--color-green-200);
    --color-border-green-dark:   var(--color-green-900);
    --color-border-orange-light: var(--color-orange-200);
    --color-border-orange-dark:  var(--color-orange-700);
    --color-border-yellow-light: var(--color-yellow-200);
    --color-border-yellow-dark:  var(--color-yellow-600);
    --color-foreground-neutral-0:  var(--color-neutral-0);
    --color-foreground-neutral-1:  var(--color-neutral-50);
    --color-foreground-neutral-2:  var(--color-neutral-100);
    --color-foreground-neutral-3:  var(--color-neutral-150);
    --color-foreground-neutral-4:  var(--color-neutral-200);
    --color-foreground-neutral-5:  var(--color-neutral-350);
    --color-foreground-neutral-6:  var(--color-neutral-550);
    --color-foreground-neutral-7:  var(--color-neutral-800);
    --color-foreground-neutral-8:  var(--color-neutral-850);
    --color-foreground-neutral-9:  var(--color-neutral-900);
    --color-foreground-neutral-10: var(--color-neutral-950);
    --color-foreground-red-light:    var(--color-red-200);
    --color-foreground-red-dark:     var(--color-red-800);
    --color-foreground-green-light:  var(--color-green-200);
    --color-foreground-green-dark:   var(--color-green-900);
    --color-foreground-orange-light: var(--color-orange-200);
    --color-foreground-orange-dark:  var(--color-orange-700);
    --color-foreground-yellow-light: var(--color-yellow-200);
    --color-foreground-yellow-dark:  var(--color-yellow-600);
    --spacing-margin-mobile-sm: var(--size-3);   /*  8px */
    --spacing-margin-mobile-md: var(--size-4);   /* 16px */
    --spacing-margin-mobile-lg: var(--size-5);   /* 24px */
    --spacing-margin-tablet-sm: var(--size-7);   /* 40px */
    --spacing-margin-tablet-md: var(--size-10);  /* 64px */
    --spacing-margin-tablet-lg: var(--size-13);  /* 120px */
    --spacing-margin-desktop-sm: var(--size-10); /* 64px */
    --spacing-margin-desktop-md: var(--size-14); /* 144px */
    --spacing-margin-desktop-lg: var(--size-16); /* 256px */
    --spacing-gap-none: var(--size-0);
    --spacing-gap-xs:   var(--size-1);   /*  2px */
    --spacing-gap-sm:   var(--size-2);   /*  4px */
    --spacing-gap-md:   var(--size-3);   /*  8px */
    --spacing-gap-lg:   var(--size-4);   /* 16px */
    --spacing-gap-xl:   var(--size-5);   /* 24px */
    --spacing-gap-2xl:  var(--size-6);   /* 32px */
    --spacing-gap-3xl:  var(--size-7);   /* 40px */
    --spacing-gap-4xl:  var(--size-8);   /* 48px */
    --spacing-gap-5xl:  var(--size-9);   /* 56px */
    --spacing-gap-6xl:  var(--size-10);  /* 64px */
    --spacing-height-none: var(--size-0);
    --spacing-height-xs:   var(--size-1);   /*  2px */
    --spacing-height-sm:   var(--size-2);   /*  4px */
    --spacing-height-md:   var(--size-3);   /*  8px */
    --spacing-height-lg:   var(--size-4);   /* 16px */
    --spacing-height-xl:   var(--size-5);   /* 24px */
    --spacing-height-2xl:  var(--size-6);   /* 32px */
    --spacing-height-3xl:  var(--size-7);   /* 40px */
    --spacing-height-4xl:  var(--size-9);   /* 56px */
    --spacing-height-5xl:  var(--size-10);  /* 64px */
    --spacing-width-none: var(--size-0);
    --spacing-width-xs:   var(--size-1);    /*  2px */
    --spacing-width-sm:   var(--size-2);    /*  4px */
    --spacing-width-md:   var(--size-3);    /*  8px */
    --spacing-width-lg:   var(--size-4);    /* 16px */
    --spacing-width-xl:   var(--size-5);    /* 24px */
    --spacing-width-2xl:  var(--size-6);    /* 32px */
    --spacing-width-3xl:  var(--size-7);    /* 40px */
    --spacing-width-4xl:  var(--size-10);   /* 64px */
    --spacing-width-5xl:  var(--size-11);   /* 80px */
    --radius-none:   var(--size-0);    /*   0 */
    --radius-sm:     var(--size-2);    /*   4px */
    --radius-md:     var(--size-3);    /*   8px */
    --radius-lg:     var(--size-4);    /*  16px */
    --radius-xl:     var(--size-6);    /*  32px */
    --radius-full:   var(--size-16);   /* 256px */
    --radius-badge:  var(--size-0);    /*   0 — badges & flags */
    --radius-button: var(--size-0);    /*   0 */
    --line-stroke-base: 1px;
    --line-stroke-bold: 2px;
    --elevation-sm: 0px 0px 25px rgba(12, 12, 13, 0.05);
    --elevation-md: 0px 0px 25px rgba(12, 12, 13, 0.10);
    --elevation-lg: 0px 0px 25px rgba(12, 12, 13, 0.15);
    --font-family-text:     "Hanken Grotesk", sans-serif;
    --font-family-heading:  "Hanken Grotesk", sans-serif;
    --font-family-display:  "Hanken Grotesk", sans-serif;
    --font-family-subtitle: "Hanken Grotesk", sans-serif;
    --font-family-utility:  "Hanken Grotesk", sans-serif;
    --font-family-product:  "Hanken Grotesk", sans-serif;
    --font-family-code:     "Hanken Grotesk", sans-serif;
    --font-weight-base:      400;  /* Regular */
    --font-weight-medium:    600;  /* SemiBold */
    --font-weight-strong:    700;  /* Bold */
    --font-weight-stronger:  800;  /* ExtraBold */
    --font-weight-strongest: 900;  /* Black */
    --font-size-xs:  10px;
    --font-size-sm:  12px;
    --font-size-md:  14px;
    --font-size-lg:  18px;
    --font-size-xl:  25px;
    --font-size-2xl: 31px;
    --font-size-3xl: 39px;
    --font-size-4xl: 49px;
    --font-size-5xl: 61px;
    --font-size-6xl: 76px;
    --font-size-7xl: 95px;
    --font-size-8xl: 119px;
    --line-height-xs:   12px;
    --line-height-flag: 14px;
    --line-height-sm:   16px;
    --line-height-md:   20px;
    --line-height-lg:   24px;
    --line-height-xl:   28px;
    --line-height-2xl:  35px;
    --line-height-3xl:  48px;
    --line-height-4xl:  64px;
    --line-height-5xl:  76px;
    --line-height-6xl:  100px;
    --line-height-7xl:  125px;
    --line-height-8xl:  150px;
    --letter-spacing-default: -0.16px;
    --letter-spacing-caps:     0.48px;
    --letter-spacing-display: -1.5px;
}

/* ============================================================
   Typographie (tokens composés)
   ============================================================ */
/* --- Display --- */

.jeu-concours .display-xl-strong   { font-family: var(--font-family-display); font-weight: var(--font-weight-stronger);  font-size: var(--font-size-7xl); line-height: var(--line-height-7xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-xl          { font-family: var(--font-family-display); font-weight: var(--font-weight-base);      font-size: var(--font-size-7xl); line-height: var(--line-height-7xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-lg-strong   { font-family: var(--font-family-display); font-weight: var(--font-weight-stronger);  font-size: var(--font-size-6xl); line-height: var(--line-height-6xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-lg          { font-family: var(--font-family-display); font-weight: var(--font-weight-base);      font-size: var(--font-size-6xl); line-height: var(--line-height-6xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-md-strong   { font-family: var(--font-family-display); font-weight: var(--font-weight-stronger);  font-size: var(--font-size-5xl); line-height: var(--line-height-5xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-md          { font-family: var(--font-family-display); font-weight: var(--font-weight-base);      font-size: var(--font-size-5xl); line-height: var(--line-height-5xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-sm-strong   { font-family: var(--font-family-display); font-weight: var(--font-weight-stronger);  font-size: var(--font-size-4xl); line-height: var(--line-height-4xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-sm          { font-family: var(--font-family-display); font-weight: var(--font-weight-base);      font-size: var(--font-size-4xl); line-height: var(--line-height-4xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-xs-strong   { font-family: var(--font-family-display); font-weight: var(--font-weight-stronger);  font-size: var(--font-size-3xl); line-height: var(--line-height-3xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-xs          { font-family: var(--font-family-display); font-weight: var(--font-weight-base);      font-size: var(--font-size-3xl); line-height: var(--line-height-3xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-xxs-strong  { font-family: var(--font-family-display); font-weight: var(--font-weight-stronger);  font-size: var(--font-size-2xl); line-height: var(--line-height-2xl); letter-spacing: var(--letter-spacing-display); }
.jeu-concours .display-xxs         { font-family: var(--font-family-display); font-weight: var(--font-weight-base);      font-size: var(--font-size-2xl); line-height: var(--line-height-2xl); letter-spacing: var(--letter-spacing-display); }

/* --- Heading / Title --- */

.jeu-concours .heading-title-xxl { font-family: var(--font-family-heading); font-weight: var(--font-weight-strongest); font-size: var(--font-size-4xl); line-height: var(--line-height-4xl); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .heading-title-xl  { font-family: var(--font-family-heading); font-weight: var(--font-weight-stronger);  font-size: var(--font-size-3xl); line-height: var(--line-height-3xl); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .heading-title-lg  { font-family: var(--font-family-heading); font-weight: var(--font-weight-strong);    font-size: var(--font-size-2xl); line-height: var(--line-height-2xl); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .heading-title-md  { font-family: var(--font-family-heading); font-weight: var(--font-weight-medium);    font-size: var(--font-size-xl);  line-height: var(--line-height-xl);  letter-spacing: var(--letter-spacing-default); }
.jeu-concours .heading-title-sm  { font-family: var(--font-family-heading); font-weight: var(--font-weight-medium);    font-size: var(--font-size-lg);  line-height: var(--line-height-xl);  letter-spacing: var(--letter-spacing-default); }

/* --- Heading / Subtitle --- */

.jeu-concours .heading-subtitle-md { font-family: var(--font-family-subtitle); font-weight: var(--font-weight-medium); font-size: var(--font-size-md); line-height: var(--line-height-md); letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }
.jeu-concours .heading-subtitle-sm { font-family: var(--font-family-subtitle); font-weight: var(--font-weight-medium); font-size: var(--font-size-sm); line-height: var(--line-height-sm); letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }

/* --- Text --- */

.jeu-concours .text-lg-regular { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-lg); line-height: var(--line-height-lg); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .text-lg-strong  { font-family: var(--font-family-text); font-weight: var(--font-weight-strong); font-size: var(--font-size-lg); line-height: var(--line-height-lg); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .text-lg-italic  { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-lg); line-height: var(--line-height-lg); letter-spacing: var(--letter-spacing-default); font-style: italic; }
.jeu-concours .text-lg-strike  { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-lg); line-height: var(--line-height-lg); letter-spacing: var(--letter-spacing-default); text-decoration: line-through; }
.jeu-concours .text-lg-link    { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-lg); line-height: var(--line-height-lg); letter-spacing: var(--letter-spacing-default); text-decoration: underline; }

.jeu-concours .text-md-regular { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-md); line-height: var(--line-height-md); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .text-md-strong  { font-family: var(--font-family-text); font-weight: var(--font-weight-strong); font-size: var(--font-size-md); line-height: var(--line-height-md); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .text-md-italic  { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-md); line-height: var(--line-height-md); letter-spacing: var(--letter-spacing-default); font-style: italic; }
.jeu-concours .text-md-strike  { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-md); line-height: var(--line-height-md); letter-spacing: var(--letter-spacing-default); text-decoration: line-through; }
.jeu-concours .text-md-link    { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-md); line-height: var(--line-height-md); letter-spacing: var(--letter-spacing-default); text-decoration: underline; }

.jeu-concours .text-sm-regular { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-sm); line-height: var(--line-height-sm); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .text-sm-strong  { font-family: var(--font-family-text); font-weight: var(--font-weight-strong); font-size: var(--font-size-sm); line-height: var(--line-height-sm); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .text-sm-italic  { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-sm); line-height: var(--line-height-sm); letter-spacing: var(--letter-spacing-default); font-style: italic; }
.jeu-concours .text-sm-strike  { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-sm); line-height: var(--line-height-sm); letter-spacing: var(--letter-spacing-default); text-decoration: line-through; }
.jeu-concours .text-sm-link    { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-sm); line-height: var(--line-height-sm); letter-spacing: var(--letter-spacing-default); text-decoration: underline; }

.jeu-concours .text-xs-regular { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-xs); line-height: var(--line-height-xs); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .text-xs-strong  { font-family: var(--font-family-text); font-weight: var(--font-weight-strong); font-size: var(--font-size-xs); line-height: var(--line-height-xs); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .text-xs-italic  { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-xs); line-height: var(--line-height-xs); letter-spacing: var(--letter-spacing-default); font-style: italic; }
.jeu-concours .text-xs-strike  { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-xs); line-height: var(--line-height-xs); letter-spacing: var(--letter-spacing-default); text-decoration: line-through; }
.jeu-concours .text-xs-link    { font-family: var(--font-family-text); font-weight: var(--font-weight-base);   font-size: var(--font-size-xs); line-height: var(--line-height-xs); letter-spacing: var(--letter-spacing-default); text-decoration: underline; }

/* --- Utility --- */

.jeu-concours .utility-label       { font-family: var(--font-family-utility); font-weight: var(--font-weight-medium); font-size: var(--font-size-sm); line-height: var(--line-height-sm);   letter-spacing: var(--letter-spacing-default); }
.jeu-concours .utility-helpertext  { font-family: var(--font-family-utility); font-weight: var(--font-weight-base);   font-size: var(--font-size-sm); line-height: var(--line-height-sm);   letter-spacing: var(--letter-spacing-default); }
.jeu-concours .utility-breadcrumbs { font-family: var(--font-family-utility); font-weight: var(--font-weight-base);   font-size: var(--font-size-sm); line-height: var(--line-height-sm);   letter-spacing: var(--letter-spacing-default); }
.jeu-concours .utility-button-sm   { font-family: var(--font-family-utility); font-weight: var(--font-weight-base);   font-size: var(--font-size-sm); line-height: var(--line-height-sm);   letter-spacing: var(--letter-spacing-default); }
.jeu-concours .utility-button-md   { font-family: var(--font-family-utility); font-weight: var(--font-weight-medium); font-size: var(--font-size-md); line-height: var(--line-height-md);   letter-spacing: var(--letter-spacing-default); }
.jeu-concours .utility-badge      { font-family: var(--font-family-utility); font-weight: var(--font-weight-medium); font-size: var(--font-size-sm); line-height: var(--line-height-flag); letter-spacing: var(--letter-spacing-default); }
.jeu-concours .utility-code-md     { font-family: var(--font-family-code);    font-weight: var(--font-weight-base);   font-size: var(--font-size-md); line-height: var(--line-height-md);   letter-spacing: 0; }

/* --- Utility / Product (prix, noms produit — uppercase + caps spacing) --- */

.jeu-concours .utility-product-md  { font-family: var(--font-family-product); font-weight: var(--font-weight-medium); font-size: var(--font-size-xl); line-height: var(--line-height-xl);   letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }
.jeu-concours .utility-product-sm  { font-family: var(--font-family-product); font-weight: var(--font-weight-medium); font-size: var(--font-size-lg); line-height: var(--line-height-md);   letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }
.jeu-concours .utility-product-xs  { font-family: var(--font-family-product); font-weight: var(--font-weight-medium); font-size: var(--font-size-md); line-height: var(--line-height-sm);   letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }
.jeu-concours .utility-product-xxs { font-family: var(--font-family-product); font-weight: var(--font-weight-medium); font-size: var(--font-size-sm); line-height: var(--line-height-flag); letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }

/* ============================================================
   Base / reset LP
   ============================================================ */

/* Mobile : header fixe de 131px (le thème ne décale que de 50px sous 1024px) */
@media (max-width: 1024px) {
    body#jeuconcours #columns { padding-top: 131px; }
}

#jeu-concours {
    background: var(--color-surface-0);
    color: var(--color-foreground-neutral-10);
    font-family: var(--font-family-text);
    overflow: hidden;
}
.jeu-concours *, .jeu-concours *::before, .jeu-concours *::after { box-sizing: border-box; }
.jeu-concours h1, .jeu-concours h2, .jeu-concours p { margin: 0; color: inherit; text-transform: none; }
.jeu-concours a { color: var(--color-foreground-neutral-10); }
.jeu-concours a:hover { color: var(--color-foreground-neutral-6); }
.jeu-concours img { max-width: 100%; }

/* helpers */
.jeu-concours .jc-m0 { margin: 0; }
.jeu-concours .jc-c-6 { color: var(--color-foreground-neutral-6); }
.jeu-concours .jc-c-7 { color: var(--color-foreground-neutral-7); }
.jeu-concours .jc-pretty { text-wrap: pretty; }
.jeu-concours .jc-req { color: var(--color-foreground-red-dark); }
.jeu-concours .jc-wrap { max-width: 1312px; margin: 0 auto; }
.jeu-concours [hidden] { display: none !important; }

/* ============================================================
   Boutons
   ============================================================ */
.jeu-concours .jc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: var(--radius-button);
    font-family: var(--font-family-utility);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-md);
    line-height: var(--line-height-md);
    letter-spacing: var(--letter-spacing-default);
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.jeu-concours .jc-btn--full { width: 100%; }
.jeu-concours .jc-btn--primary {
    height: 48px;
    padding: 0 20px;
    background: var(--color-background-neutral-10);
    color: var(--color-foreground-neutral-0);
}
.jeu-concours .jc-btn--primary:hover:not([disabled]) { background: var(--color-background-neutral-7); color: var(--color-foreground-neutral-0); }
.jeu-concours .jc-btn[disabled] {
    background: var(--color-background-neutral-4);
    color: var(--color-foreground-neutral-5);
    cursor: not-allowed;
}
.jeu-concours .jc-btn--ghost {
    background: transparent;
    border-color: transparent;
    padding: 0;
    height: auto;
    gap: 8px;
    color: var(--color-foreground-neutral-7);
}
.jeu-concours .jc-btn--ghost:hover { text-decoration: underline; text-underline-offset: 3px; color: var(--color-foreground-neutral-7); }
.jeu-concours .jc-btn--white {
    height: 48px;
    padding: 0 32px;
    background: var(--color-background-neutral-0);
    color: var(--color-foreground-neutral-10);
    transition: background-color 150ms ease, color 150ms ease;
}
.jeu-concours .jc-btn--white:hover { background: var(--color-background-neutral-2); color: var(--color-foreground-neutral-10); }
.jeu-concours .jc-btn--outline {
    height: 40px;
    padding: 0 16px;
    border: var(--line-stroke-base) solid var(--color-border-neutral-5);
    background: transparent;
    color: var(--color-foreground-neutral-10);
}
.jeu-concours .jc-btn--outline:hover { border-color: var(--color-border-neutral-7); color: var(--color-foreground-neutral-10); }

/* ============================================================
   Popin d'accueil (portail body, au-dessus du header z 10000)
   ============================================================ */
.jeu-concours .jc-popin {
    position: fixed;
    inset: 0;
    z-index: 10050;
    background: rgba(11, 11, 12, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.jeu-concours .jc-popin__box {
    position: relative;
    width: 100%;
    max-width: 560px;
    background: var(--color-surface-0);
    color: var(--color-foreground-neutral-10);
    box-shadow: var(--elevation-lg);
    padding: 64px 56px 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    text-align: center;
    font-family: var(--font-family-text);
}
.jeu-concours .jc-popin__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}
.jeu-concours svg.jc-popin__close-ico { width: 20px; height: 20px; display: block; }
.jeu-concours svg.jc-popin__close-ico path { fill: var(--color-foreground-neutral-10); }
.jeu-concours .jc-popin__logo { width: 208px; max-width: 70%; height: auto; display: block; }
.jeu-concours .jc-popin__txt { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.jeu-concours .jc-popin__txt h2 { text-wrap: balance; }
.jeu-concours .jc-popin__txt p { color: var(--color-foreground-neutral-7); }
.jeu-concours .jc-popin__actions { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 100%; }

/* ============================================================
   Hero
   ============================================================ */
.jeu-concours .jc-hero { position: relative; color: var(--color-foreground-neutral-0); }
.jeu-concours .jc-hero__media { position: absolute; inset: 0; z-index: 0; }
.jeu-concours .jc-hero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center 60%;
    display: block;
}
.jeu-concours .jc-hero__scrim { position: absolute; inset: 0; background: rgba(11, 11, 12, 0.4); z-index: 1; }
.jeu-concours .jc-hero__inner {
    position: relative;
    z-index: 2;
    color: var(--color-foreground-neutral-0);
    padding: 88px 24px 104px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}
.jeu-concours .jc-hero__logo { width: 240px; max-width: 60%; height: auto; display: block; }
.jeu-concours .jc-hero__dates { color: var(--color-foreground-neutral-4); }
.jeu-concours .jc-hero__title { max-width: 820px; text-wrap: pretty; }
.jeu-concours .jc-hero__baseline { color: var(--color-foreground-neutral-2); }
.jeu-concours .jc-hero__lead { max-width: 620px; color: var(--color-foreground-neutral-2); text-wrap: pretty; }
.jeu-concours .jc-hero__note { max-width: 620px; color: var(--color-foreground-neutral-3); text-wrap: pretty; }
.jeu-concours .jc-hero__cta { margin-top: 12px; }

/* ============================================================
   Cadeau du jour
   ============================================================ */
.jeu-concours .jc-game { background: var(--color-surface-0); padding: 40px 24px 49px; }
.jeu-concours .jc-gift-wrap {
    max-width: 1312px;
    margin: 0 auto 49px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.jeu-concours .jc-gift {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    background: var(--color-surface-0);
    border: var(--line-stroke-base) solid var(--color-border-neutral-3);
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.jeu-concours .jc-gift__media {
    flex: 1 1 260px;
    min-width: 260px;
    aspect-ratio: 4 / 3;
    position: relative;
    overflow: hidden;
    background: var(--color-surface-1);
}
.jeu-concours .jc-gift__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.jeu-concours .jc-gift__body {
    flex: 100 1 300px;
    min-width: 200px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

/* ============================================================
   Énigme + formulaire (état initial : énigme floutée centrée,
   formulaire replié ; .is-revealed = après "Dévoiler")
   ============================================================ */
.jeu-concours .jc-play {
    max-width: 1312px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: flex-start;
    transition: gap 600ms cubic-bezier(.16, .84, .44, 1);
}
.jeu-concours .jc-play.is-revealed { gap: 64px; }

.jeu-concours .jc-enigme {
    flex: 1 1 380px;
    min-width: 280px;
    max-width: 620px;
    margin: 0 auto;
    background: var(--color-surface-0);
    display: flex;
    flex-direction: column;
    gap: 24px;
    transition: max-width 500ms cubic-bezier(.16, .84, .44, 1);
}
.jeu-concours .jc-play.is-revealed .jc-enigme { margin: 0; }

.jeu-concours .jc-enigme__media {
    aspect-ratio: 4 / 3;
    border: var(--line-stroke-base) solid var(--color-border-neutral-3);
    position: relative;
    overflow: hidden;
}
.jeu-concours .jc-enigme__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    filter: blur(14px);
    transition: filter 600ms cubic-bezier(.16, .84, .44, 1);
}
.jeu-concours .jc-play.is-revealed .jc-enigme__img { filter: none; }
.jeu-concours .jc-enigme__cover {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.35);
}
.jeu-concours .jc-play.is-revealed .jc-enigme__cover { display: none; }
.jeu-concours .jc-enigme__reveal {
    border: none;
    cursor: pointer;
    background: var(--color-background-neutral-10);
    color: var(--color-foreground-neutral-0);
    border-radius: var(--radius-button);
    padding: var(--spacing-height-lg) var(--spacing-width-2xl);
    font-family: var(--font-family-utility);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-md);
}
.jeu-concours .jc-enigme__timer {
    margin: 0;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--color-foreground-neutral-6);
}
.jeu-concours .jc-enigme__timer strong {
    font-weight: var(--font-weight-strong);
    color: var(--color-foreground-neutral-10);
    font-variant-numeric: tabular-nums;
}

/* Colonne formulaire */
.jeu-concours .jc-formcol {
    flex: 0 0 0px;
    min-width: 0;
    max-width: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 2px 2px;
    background: var(--color-surface-0);
    display: flex;
    flex-direction: column;
    gap: 28px;
    transition: max-width 600ms cubic-bezier(.16, .84, .44, 1), max-height 600ms cubic-bezier(.16, .84, .44, 1), opacity 400ms ease 200ms;
}
.jeu-concours .jc-play.is-revealed .jc-formcol {
    flex: 1 1 340px;
    max-width: 1312px;
    max-height: 1200px;
    opacity: 1;
    overflow: visible;
    padding-top: 26px;
}

.jeu-concours .jc-form { display: flex; flex-direction: column; gap: 20px; margin: 0; }
.jeu-concours .jc-field { display: flex; flex-direction: column; gap: 6px; }
.jeu-concours .jc-field label { margin: 0; padding: 0; color: var(--color-foreground-neutral-10); }
.jeu-concours .jc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.jeu-concours .jc-input {
    width: 100%;
    height: 40px;
    padding: 0 16px;
    border: 1px solid var(--color-border-neutral-4);
    border-radius: 0;
    background: var(--color-background-neutral-0);
    box-shadow: 0 0 0 0 transparent, 0 1px 4px 0 rgba(11, 11, 12, 0.08);
    transition: border-color 120ms ease-out, box-shadow 150ms cubic-bezier(.16, .84, .44, 1);
    font-family: var(--font-family-text);
    font-size: var(--font-size-md);
    color: var(--color-foreground-neutral-10);
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}
.jeu-concours .jc-input--area {
    height: auto;
    min-height: 72px;
    resize: vertical;
    padding: 12px 16px;
    line-height: var(--line-height-md);
}
.jeu-concours .jc-input:focus {
    border-color: var(--color-border-neutral-5);
    box-shadow: 0 0 0 3px var(--color-border-neutral-4), 0 1px 4px 0 rgba(11, 11, 12, 0.08);
}
.jeu-concours .jc-input.is-error { border-color: var(--color-border-red-dark); }
.jeu-concours .jc-field__error { margin: 0; color: var(--color-foreground-red-dark); }

/* Checkbox Meridian (vrai input caché, accessible clavier) */
.jeu-concours .jc-checks { display: flex; flex-direction: column; gap: 12px; }
.jeu-concours .jc-check {
    position: relative;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    cursor: pointer;
    margin: 0;
    font-weight: var(--font-weight-base);
    color: var(--color-foreground-neutral-10);
}
.jeu-concours .jc-check input.jc-check__input {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1;
    opacity: 0 !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    cursor: pointer;
}
.jeu-concours .jc-check div.checker {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
}
.jeu-concours .jc-check div.checker span { background: none !important; width: 24px !important; height: 24px !important; }
.jeu-concours .jc-check__box {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    background: var(--color-background-neutral-0);
    border: var(--line-stroke-base) solid var(--color-border-neutral-3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 150ms ease, border-width 150ms ease;
}
.jeu-concours svg.jc-check__ico { width: 24px; height: 24px; display: none; }
.jeu-concours svg.jc-check__ico path { fill: var(--color-foreground-neutral-0); }
.jeu-concours .jc-check.is-checked .jc-check__box,
.jeu-concours .jc-check__input:checked + .jc-check__box {
    transition: none;
    background: var(--color-background-neutral-10);
    border-color: var(--color-border-neutral-10);
}
.jeu-concours .jc-check.is-checked svg.jc-check__ico,
.jeu-concours .jc-check__input:checked + .jc-check__box svg.jc-check__ico { display: block; }
.jeu-concours .jc-check:hover .jc-check__box {
    border-color: var(--color-border-neutral-6);
    border-width: var(--line-stroke-bold);
}
.jeu-concours .jc-check__input:focus-visible + .jc-check__box {
    box-shadow: 0 0 0 3px var(--color-border-neutral-4);
}
.jeu-concours .jc-link { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

.jeu-concours .jc-form.is-loading .js-jc-submit { opacity: .6; pointer-events: none; }

/* ============================================================
   Alertes (succès / info)
   ============================================================ */
.jeu-concours .jc-alert {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 12px 14px;
}
.jeu-concours svg.jc-alert__ico { flex-shrink: 0; margin-top: 1px; display: block; width: 24px; height: 24px; }
.jeu-concours svg.jc-alert__ico path { fill: currentColor; }
.jeu-concours .jc-alert__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.jeu-concours .jc-alert--success {
    margin-top: 22px;
    background: var(--color-background-green-light);
    color: var(--color-foreground-green-dark);
}
.jeu-concours .jc-alert--outline {
    background: transparent;
    border: var(--line-stroke-base) solid var(--color-border-neutral-10);
    color: var(--color-foreground-neutral-10);
}
.jeu-concours .jc-alert__actions { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.jeu-concours .jc-closed { max-width: 620px; margin: 0 auto; }

/* ============================================================
   Séparateur
   ============================================================ */
.jeu-concours .jc-sep { background: var(--color-surface-0); padding: 0 24px; }
.jeu-concours .jc-sep hr {
    max-width: 1312px;
    margin: 0 auto;
    border: none;
    border-top: var(--line-stroke-base) solid var(--color-border-neutral-3);
    height: 0;
    background: none;
}

/* ============================================================
   Frise des 10 jours
   ============================================================ */
.jeu-concours .jc-days { background: var(--color-surface-0); padding: 49px 24px; }
.jeu-concours .jc-days__inner { display: flex; flex-direction: column; gap: 24px; }
.jeu-concours .jc-head {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: baseline;
    justify-content: space-between;
}
.jeu-concours .jc-head__right { display: flex; align-items: center; gap: 24px; }
.jeu-concours .jc-frise-nav { display: flex; gap: 8px; }
.jeu-concours .jc-frise-nav__btn {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: var(--color-surface-0);
    border: var(--line-stroke-base) solid var(--color-border-neutral-5);
    border-radius: var(--radius-button);
    color: var(--color-foreground-neutral-10);
    transition: border-color .15s ease;
}
.jeu-concours .jc-frise-nav__btn[disabled] {
    cursor: not-allowed;
    border-color: var(--color-border-neutral-4);
    color: var(--color-foreground-neutral-4);
}
.jeu-concours svg.jc-frise-nav__ico { width: 20px; height: 20px; display: block; }
.jeu-concours svg.jc-frise-nav__ico path { fill: currentColor; }
.jeu-concours svg.jc-frise-nav__ico--prev { transform: scaleX(-1); }

.jeu-concours .jc-frise::-webkit-scrollbar { height: 4px; }
.jeu-concours .jc-frise::-webkit-scrollbar-track { background: transparent; }
.jeu-concours .jc-frise::-webkit-scrollbar-thumb { background: var(--color-background-neutral-4); border-radius: var(--radius-full); }
.jeu-concours .jc-frise {
    scrollbar-width: thin;
    scrollbar-color: var(--color-background-neutral-4) transparent;
    overflow-x: auto;
    scroll-behavior: smooth;
    margin: 0 -24px;
    padding: 16px 72px 28px;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
}
.jeu-concours .jc-frise__track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(10, minmax(260px, 1fr));
    gap: 16px;
    min-width: 2744px;
}
.jeu-concours .jc-frise__line,
.jeu-concours .jc-frise__progress {
    position: absolute;
    top: 11px;
    left: 5%;
    height: 2px;
}
.jeu-concours .jc-frise__line { right: 5%; background: var(--color-background-neutral-3); }
.jeu-concours .jc-frise__progress { background: var(--color-background-neutral-10); }

.jeu-concours .jc-fday {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.jeu-concours .jc-fday__dot { height: 24px; display: flex; align-items: center; justify-content: center; }
.jeu-concours .jc-fday__dot > span {
    width: 12px;
    height: 12px;
    border-radius: var(--radius-full);
    background: var(--color-background-neutral-10);
}
.jeu-concours .jc-fday.is-future .jc-fday__dot > span {
    border: var(--line-stroke-base) solid var(--color-border-neutral-4);
    background: var(--color-background-neutral-0);
}
.jeu-concours .jc-fday.is-today .jc-fday__dot > span {
    width: 24px;
    height: 24px;
    border: var(--line-stroke-bold) solid var(--color-border-neutral-10);
    background: var(--color-background-neutral-0);
    display: flex;
    align-items: center;
    justify-content: center;
}
.jeu-concours .jc-fday.is-today .jc-fday__dot > span::after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    background: var(--color-background-neutral-10);
}
.jeu-concours .jc-fday__date { color: var(--color-foreground-neutral-6); }
.jeu-concours .jc-fday.is-today .jc-fday__date { color: var(--color-foreground-neutral-10); }

.jeu-concours .jc-fday__card { align-self: stretch; display: flex; flex-direction: column; gap: 8px; }
.jeu-concours .jc-fday__media { position: relative; aspect-ratio: 4 / 3; }
.jeu-concours .jc-fday__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
}
.jeu-concours .jc-fday.is-past .jc-fday__media {
    border: var(--line-stroke-base) solid var(--color-border-neutral-2);
    opacity: 0.6;
}
.jeu-concours .jc-fday.is-today .jc-fday__media {
    border: var(--line-stroke-bold) solid var(--color-border-neutral-10);
    box-shadow: var(--elevation-lg);
}
.jeu-concours .jc-fday.is-future .jc-fday__media {
    overflow: hidden;
    border: var(--line-stroke-base) dashed var(--color-border-neutral-4);
}
.jeu-concours .jc-fday.is-future .jc-fday__media img { filter: blur(14px); }
.jeu-concours .jc-fday__lock {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
.jeu-concours svg.jc-fday__lock-ico { width: 24px; height: 24px; opacity: 0.6; display: block; }
.jeu-concours svg.jc-fday__lock-ico path { fill: var(--color-foreground-neutral-10); }

.jeu-concours .jc-fday__label { color: var(--color-foreground-neutral-6); font-variant-numeric: tabular-nums; }
.jeu-concours .jc-fday.is-today .jc-fday__label { color: var(--color-foreground-neutral-10); }
.jeu-concours .jc-fday__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.jeu-concours svg.jc-fday__check { width: 24px; height: 24px; opacity: 0.55; display: block; flex-shrink: 0; }
.jeu-concours svg.jc-fday__check path { fill: var(--color-foreground-neutral-10); }

/* Flèches : desktop uniquement (maquette) */
@media (max-width: 899px) {
    .jeu-concours .jc-frise-nav { display: none; }
}

/* ============================================================
   Infos / règlement
   ============================================================ */
.jeu-concours .jc-infos {
    background: var(--color-surface-1);
    color: var(--color-foreground-neutral-10);
    padding: 48px 24px 56px;
}
.jeu-concours .jc-infos__inner { display: flex; flex-direction: column; gap: 24px; }
.jeu-concours .jc-infos__cols { display: flex; flex-wrap: wrap; gap: 24px; }
.jeu-concours .jc-infos__col { flex: 1 1 280px; min-width: 260px; display: flex; flex-direction: column; gap: 4px; }

/* ============================================================
   Mobile (maquette 393px)
   ============================================================ */
@media (max-width: 899px) {
    .jeu-concours .jc-play.is-revealed { gap: 24px; }
    .jeu-concours .jc-play.is-revealed .jc-formcol { padding-top: 0; }
    .jeu-concours .jc-alert--success { margin-top: 0; }
}


/* ============================================================
   Zoom énigme (overlay plein écran, portail body)
   ============================================================ */
.jeu-concours .jc-play.is-revealed .js-jc-zoom { cursor: zoom-in; }
.jeu-concours .jc-zoom {
    position: fixed;
    inset: 0;
    z-index: 10060;
    background: rgba(11, 11, 12, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px 24px 24px;
}
.jeu-concours .jc-zoom__scroll {
    width: 100%;
    height: 100%;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y pinch-zoom;
}
.jeu-concours .jc-zoom__img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    margin: auto;
    background: var(--color-surface-0);
    cursor: zoom-in;
}
.jeu-concours .jc-zoom.is-zoomed .jc-zoom__scroll { display: block; }
.jeu-concours .jc-zoom.is-zoomed .jc-zoom__img { max-width: none; max-height: none; width: 200%; cursor: zoom-out; }
.jeu-concours .jc-zoom__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-background-neutral-10);
    border: var(--line-stroke-base) solid var(--color-border-neutral-0);
    border-radius: var(--radius-button);
    cursor: pointer;
    z-index: 1;
}
.jeu-concours svg.jc-zoom__close-ico { width: 24px; height: 24px; display: block; }
.jeu-concours svg.jc-zoom__close-ico path { fill: var(--color-foreground-neutral-0); }
@media (min-width: 900px) {
    .jeu-concours .jc-zoom.is-zoomed .jc-zoom__img { width: auto; max-width: none; }
}
