:root {
  --site-primary: #133258;
  --site-secondary: #ECDEB8;
  --site-accent: #173A66;
  --site-bg: #133258;
  --site-text: #FFFFFF;
  --site-primary-light: #1E4A80;
  --site-text-muted: #ECDEB8;
  --site-on-primary: #ffffff;
  --site-primary-foreground: #ffffff;
  --site-on-secondary: #111111;
  --site-on-accent: #ffffff;
  --site-action: #ECDEB8;
  --site-on-action: #111111;
  --site-primary-text: #97a5b6;
  --site-primary-on-light: #133258;
  --site-primary-on-dark: #97a5b6;
  --site-secondary-text: #ecdeb8;
  --site-secondary-on-light: #686251;
  --site-secondary-on-dark: #ecdeb8;
  --site-accent-text: #97a6ba;
  --site-accent-on-light: #173a66;
  --site-accent-on-dark: #97a6ba;
  --site-on-primary-light: #ffffff;
  --site-on-text: #111111;
  --site-on-text-muted: #111111;
  --site-on-bg: #ffffff;

  --site-font-heading: 'Oswald', system-ui, sans-serif;
  --site-font-body: 'Montserrat', system-ui, sans-serif;

  --site-max-width: 1230px;
  --site-section-gap: 3rem;
  --site-block-gap: 1.5rem;

  --site-radius: 0;

  --site-header-height: 72px;
  --site-header-transparent: 0;
  --site-header-sticky: 0;
}

body {
  font-family: var(--site-font-body);
  color: var(--site-text);
  background-color: var(--site-bg);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--site-font-heading);
}

/* A dark (or light) surface inside the page — a Section with a dark
   background, a template's dark footer — says so, and the brand colours used
   as text inside it switch to the variant that reads there. One value cannot
   read on both a white page and a near-black band. --site-text follows
   the surface too: rich text (prose, globals.css) reads it rather than
   color, and a Text block in a dark Section was the page's dark text. */
.vw-surface-dark, .vw-surface-primary-light, .vw-surface-bg {
  color: #FFFFFF;
  --site-text: #FFFFFF;
  --site-primary-text: var(--site-primary-on-dark);
  --site-secondary-text: var(--site-secondary-on-dark);
  --site-accent-text: var(--site-accent-on-dark);
  --site-text-muted: #a4a4a4;
}
.vw-surface-light, .vw-surface-text, .vw-surface-text-muted {
  color: #1c1917;
  --site-text: #1c1917;
  --site-primary-text: var(--site-primary-on-light);
  --site-secondary-text: var(--site-secondary-on-light);
  --site-accent-text: var(--site-accent-on-light);
  --site-text-muted: #62605f;
}
/* A band filled with a brand colour: everything on it is the text that
   reads on that colour (white or near-black, computed above). */
.vw-surface-primary {
  color: var(--site-on-primary);
  --site-text: var(--site-on-primary);
  --site-primary-text: var(--site-on-primary);
  --site-secondary-text: var(--site-on-primary);
  --site-accent-text: var(--site-on-primary);
  --site-text-muted: var(--site-on-primary);
}
.vw-surface-secondary {
  color: var(--site-on-secondary);
  --site-text: var(--site-on-secondary);
  --site-primary-text: var(--site-on-secondary);
  --site-secondary-text: var(--site-on-secondary);
  --site-accent-text: var(--site-on-secondary);
  --site-text-muted: var(--site-on-secondary);
}
.vw-surface-accent {
  color: var(--site-on-accent);
  --site-text: var(--site-on-accent);
  --site-primary-text: var(--site-on-accent);
  --site-secondary-text: var(--site-on-accent);
  --site-accent-text: var(--site-on-accent);
  --site-text-muted: var(--site-on-accent);
}

/* ==========================================================================
   Les Godefroid : feuille du site (v12b, 12/10/2026)
   Couleurs et polices : jetons du thème (--site-*), modifiables dans
   Paramètres > Couleurs et polices (« Accent » = couleur des encarts).
   Largeur du contenu : Paramètres > Mise en page (largeur max).
   Vocabulaire : cadre beige décalé, commandes carrées, trait beige sous les
   titres, deux boutons (plein beige avec ombre décalée / contour beige).
   ========================================================================== */
:root{
  --gf-wrap:var(--site-max-width,1230px);   /* contenu large (1200 px + marges) */
  --gf-narrow:1000px;                        /* diaporama, encarts, textes */
  --gf-section:112px;                        /* espace entre deux sections */
  --gf-panel:var(--site-accent);             /* fond des encarts */
  --gf-btn-under:var(--site-bg);             /* fond derrière l'ombre décalée des boutons */
  --gf-logos-line:#f0f0f0;                   /* grille des logos partenaires */
  --gf-logos-hover:#f8f8f8;
  --gf-ok-bg:#c6ecb8;--gf-ok:#5f8a11;        /* vote : message de réussite */
  --gf-err-bg:#ecc6b8;--gf-err:#8a111d;      /* vote : message d'erreur */
  --gf-err-text:#ffb4b4;
  --gf-on-dark:var(--site-text);             /* texte clair du thème, figé ici (le moteur le remplace sur les blocs « clairs ») */
  --gf-on-dark-muted:var(--site-text-muted);
}
@media (max-width:767px){:root{--gf-section:72px}}

/* ---------- Base ---------- */
body{font-family:var(--site-font-body);color:var(--site-text);font-size:16px;line-height:1;background-color:var(--site-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@media (max-width:767px){body{font-size:16px;line-height:23px}}
body a{color:var(--site-text)}
b,strong{font-weight:700}
img{max-width:100%}
body h1{font-family:var(--site-font-heading);font-weight:700;font-size:40px;line-height:52px;position:relative;padding:40px 0}
@media (max-width:992px){body h1{font-size:30px}}
@media (max-width:767px){body h1{font-size:24px;line-height:32px}}
body h2{font-family:var(--site-font-heading);font-size:51px;font-weight:700;line-height:43px;padding:15px 0 42px;text-transform:uppercase}
@media (max-width:1400px){body h2{font-size:49px;padding:15px 0 32px}}
@media (max-width:992px){body h2{font-size:35px}}
body h3{font-family:var(--site-font-heading);font-size:28px;font-weight:500;line-height:36px;padding:25px 0 18px}
@media (max-width:767px){body h3{font-size:23px;margin:4px 0;line-height:30px}}
body h4{font-family:var(--site-font-heading);font-size:21px;line-height:28px;font-weight:400;padding:20px 0}
@media (max-width:767px){body h4{font-size:18px;line-height:25px}}
body h2,body h3,body h4{color:var(--site-text)}
body p{font-family:var(--site-font-body);font-size:16px;letter-spacing:1px;line-height:28px;margin:10px 0}
@media (max-width:767px){body p{font-size:15px;line-height:25px;letter-spacing:.3px}}
body p a{text-decoration:underline}
body p a:hover{text-decoration:none}
body ul{margin:20px 0}
body ul li{margin:10px 0;list-style-position:inside}
hr{margin:10px 0;border:0;border-top:2px dashed var(--site-secondary)}
@media (max-width:767px){hr{margin:20px 0}}
#main-content a{text-decoration:underline}
.site-wrapper,#main-content{background:transparent}
:focus-visible{outline:2px solid var(--site-secondary);outline-offset:2px}

/* Conteneurs : large (thème) et étroit */
.gf-wrap,.gf-fiche__inner,.gf-timeline__inner,.gf-footer__inner,.gf-ocre>div,.gf-sponsors>div,.gf-page-texte>div{width:100%;max-width:var(--gf-wrap);margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}

/* Apparition au défilement (comportement « reveal ») */
.reveal:not(.is-visible) [class*="reveal-"]{opacity:0;transform:translateY(30px)}
[class*="reveal"]{transition:1s cubic-bezier(0.5,0,0,1)}
.reveal-2{transition-delay:.1s}.reveal-3{transition-delay:.2s}.reveal-4{transition-delay:.3s}.reveal-5{transition-delay:.4s}.reveal-6{transition-delay:.5s}
.reveal-2-slow{transition-delay:.2s}.reveal-3-slow{transition-delay:.4s}.reveal-4-slow{transition-delay:.6s}.reveal-5-slow{transition-delay:.8s}.reveal-6-slow{transition-delay:1s}
@media (prefers-reduced-motion:reduce){[class*="reveal"]{transition:none}.reveal:not(.is-visible) [class*="reveal-"]{opacity:1;transform:none}}

/* ---------- Boutons : deux styles pour tout le site ----------
   Plein : fond beige, ombre décalée en cadre beige (vocabulaire du diaporama).
   Contour : trait beige, rempli de beige au survol. */
.gf-btn,
.gf-header .vw-button.gf-vote-cta,
.gf-sponsoring .gf-bandeau--aere a,
.gf-vote-bloc .vw-vote__start,.gf-vote-bloc .vw-vote__submit{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:15px 30px!important;border:0!important;border-radius:0!important;
  background:var(--site-secondary)!important;color:var(--site-primary)!important;
  font-family:var(--site-font-heading)!important;font-size:19px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:.05em!important;text-transform:uppercase;text-decoration:none!important;
  box-shadow:7px 7px 0 -2px var(--gf-btn-under),7px 7px 0 0 var(--site-secondary)!important;
  transition:transform .2s ease,box-shadow .2s ease,background-color .25s,color .25s}
.gf-btn::after,
.gf-header .vw-button.gf-vote-cta::after,
.gf-sponsoring .gf-bandeau--aere a::after{content:"\2192";font-family:var(--site-font-body);transition:transform .25s}
.gf-btn:is(:hover,:focus-visible),
.gf-header .vw-button.gf-vote-cta:is(:hover,:focus-visible),
.gf-sponsoring .gf-bandeau--aere a:is(:hover,:focus-visible),
.gf-vote-bloc :is(.vw-vote__start,.vw-vote__submit):is(:hover,:focus-visible):not(:disabled){
  transform:translate(3px,3px);box-shadow:4px 4px 0 -2px var(--gf-btn-under),4px 4px 0 0 var(--site-secondary)!important;
  background:#fff!important;color:var(--site-primary)!important;opacity:1}
.gf-btn:is(:hover,:focus-visible)::after,
.gf-header .vw-button.gf-vote-cta:is(:hover,:focus-visible)::after,
.gf-sponsoring .gf-bandeau--aere a:is(:hover,:focus-visible)::after{transform:translateX(4px)}
@media (max-width:767px){
  .gf-btn,.gf-header .vw-button.gf-vote-cta,.gf-sponsoring .gf-bandeau--aere a,.gf-vote-bloc .vw-vote__start,.gf-vote-bloc .vw-vote__submit{font-size:17px!important;padding:13px 22px!important;box-shadow:5px 5px 0 -2px var(--gf-btn-under),5px 5px 0 0 var(--site-secondary)!important}
}
.gf-btn--ghost,.btn-standard,
.gf-vote-bloc .vw-vote__more,.gf-vote-bloc .vw-vote__button--previous{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:10px 22px!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:var(--site-secondary)!important;box-shadow:inset 0 0 0 2px var(--site-secondary)!important;
  font-family:var(--site-font-heading)!important;font-size:16px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:.05em!important;text-transform:uppercase;text-decoration:none!important;
  transition:background-color .25s,color .25s}
.gf-btn--ghost:is(:hover,:focus-visible),.btn-standard:is(:hover,:focus-visible),
.gf-vote-bloc .vw-vote__more:is(:hover,:focus-visible),.gf-vote-bloc .vw-vote__button--previous:is(:hover,:focus-visible){background:var(--site-secondary)!important;color:var(--site-primary)!important;opacity:1}

/* ---------- En-tête ---------- */
.gf-header{position:relative;height:auto;margin-bottom:75px}
@media (max-width:767px){.gf-header{margin-bottom:40px}}
/* barre blanche qui descend au défilement ; invisible (et hors tabulation) tant qu'elle est repliée */
.gf-header .fixed-menu{position:fixed;top:0;left:0;right:0;z-index:2011;display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:-162px;padding-left:110px;background:#fff;color:var(--site-primary);visibility:hidden;transition:margin-top .3s ease-in-out,visibility 0s linear .3s}
.gf-header .fixed-menu.is-stuck{margin-top:0;visibility:visible;transition:margin-top .3s ease-in-out,visibility 0s}
@media (max-width:767px){.gf-header .fixed-menu{padding-left:15px}}
.gf-header .fixed-menu .top-menu{padding-top:0}
.gf-header .fixed-menu .logo{width:140px;padding:15px;margin-top:0}
.gf-header .fixed-menu .logo img{width:100%;height:auto;max-width:100%}
@media (max-width:767px){.gf-header .fixed-menu .logo{display:none}}
.gf-header .top-menu{text-align:right;padding-top:20px;padding-right:100px}
@media (max-width:992px){.gf-header .top-menu{padding-right:15px;padding-top:10px}}
@media (max-width:767px){.gf-header .top-menu{padding-top:0}}
.gf-header .top-menu p{display:flex;align-items:center;justify-content:flex-end}
.gf-header .top-menu a{display:inline-flex;align-items:center;vertical-align:middle;margin-right:15px;font-size:14px;font-family:var(--site-font-body);font-weight:400;color:var(--site-text);text-decoration:none}
@media (max-width:767px){.gf-header .top-menu a{font-size:12px}}
.gf-header .fixed-menu .top-menu a{color:var(--site-primary)}
.gf-header .gf-mail svg{width:20px;height:20px;margin-right:8px;flex:none}
@media (max-width:767px){.gf-header .gf-mail svg{width:18px;height:18px}}
.gf-header .top-menu .gf-soc{margin-right:0;margin-left:0}
.gf-header .top-menu .gf-soc svg{width:30px;height:30px}
@media (max-width:767px){.gf-header .top-menu .gf-soc svg{width:22px;height:22px}}
/* en-tête aligné sur la colonne de contenu (1200 px) */
@media (min-width:993px){
  body:not(:has(.vw-page.pg-accueil)) .gf-header .header-content .top-menu{padding-right:max(15px,calc((100vw - var(--gf-wrap))/2 + 15px))}
  body:not(:has(.vw-page.pg-accueil)) .gf-header .col-2:first-child{padding-left:max(15px,calc((100vw - var(--gf-wrap))/2 + 15px))}
  body:not(:has(.vw-page.pg-accueil)) .gf-header .col-2:last-child{padding-right:0}
}
/* barre de contacts : version compacte sous 1200 px, version large au-dessus */
.gf-header .gf-top--compact{display:none}
@media (max-width:1199px){.gf-header .gf-top--compact{display:block}.gf-header .gf-top--wide{display:none}}
.gf-header .flex-hor-full{display:flex;justify-content:space-between}
@media (max-width:992px){.gf-header .flex-hor-full{flex-wrap:wrap}}
.gf-header .col-2{width:35%}
@media (max-width:1200px){.gf-header .col-2{width:50%}}
@media (max-width:992px){.gf-header .col-2{width:100%;text-align:center}}
.gf-header .col-2:first-child{padding-left:160px;width:50%}
@media (max-width:1400px){.gf-header .col-2:first-child{padding-left:40px}}
@media (max-width:1200px){.gf-header .col-2:first-child{padding:0 40px;width:100%}}
@media (max-width:767px){.gf-header .col-2:first-child{padding:0 15px}}
.gf-header .col-2:last-child{padding-right:60px}
@media (max-width:1200px){.gf-header .col-2:last-child{padding-right:0}}
.gf-header .col-2 p{font-family:var(--site-font-heading);font-weight:300;font-size:27px;line-height:35px}
@media (max-width:767px){.gf-header .col-2 p{font-size:21px;line-height:25px;margin:0}}
/* statues en arrière-plan */
.gf-header .bg-statue{position:absolute;top:0;left:0;right:0;width:100%;height:100vh;z-index:-1;pointer-events:none}
.gf-header .bg-statue .statue{position:absolute;width:100%;height:100%}
.gf-header .bg-statue #stat1{background:url("/api/v1/media/10/file?v=1") no-repeat fixed center center}
.gf-header .bg-statue #stat2{background:url("/api/v1/media/11/file?v=1") no-repeat fixed center center}
.gf-header .bg-statue #stat3{background:url("/api/v1/media/12/file?v=1") no-repeat fixed center center}
.gf-header .bg-statue #stat4{background:url("/api/v1/media/13/file?v=1") no-repeat fixed center center}
.gf-header .bg-statue #stat5{background:url("/api/v1/media/14/file?v=1") no-repeat fixed center center}
/* statues : motif ton sur ton en trois plans (arrière flou, milieu, avant), lueur beige en haut,
   fondu vers le bleu en bas. filter:opacity() garde l'apparition progressive (reveal) des calques. */
.gf-header .bg-statue{height:100%}
.gf-header .bg-statue #stat1,.gf-header .bg-statue #stat3{filter:opacity(.16) blur(1.5px)}
.gf-header .bg-statue #stat4,.gf-header .bg-statue #stat5{filter:opacity(.24)}
.gf-header .bg-statue #stat2{filter:opacity(.34)}
.gf-header .bg-statue::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 0%,color-mix(in srgb,var(--site-secondary) 7%,transparent),transparent 60%),linear-gradient(to bottom,transparent 55%,var(--site-bg) 100%)}
/* autres pages : un bandeau de statues qui s'efface vers le bleu (le texte reste lisible) */
body:not(:has(.vw-page.pg-accueil)) .gf-header{margin-bottom:56px}
body:not(:has(.vw-page.pg-accueil)) .gf-header .bg-statue{height:380px;-webkit-mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 45%,transparent 100%)}
@media (max-width:767px){body:not(:has(.vw-page.pg-accueil)) .gf-header .bg-statue{height:260px}}
body:not(:has(.vw-page.pg-accueil)) .gf-header .bg-statue #stat1,body:not(:has(.vw-page.pg-accueil)) .gf-header .bg-statue #stat3{filter:opacity(.24) blur(1.5px)}
body:not(:has(.vw-page.pg-accueil)) .gf-header .bg-statue #stat4,body:not(:has(.vw-page.pg-accueil)) .gf-header .bg-statue #stat5{filter:opacity(.34)}
body:not(:has(.vw-page.pg-accueil)) .gf-header .bg-statue #stat2{filter:opacity(.46)}
/* autres pages : logo en haut à gauche, retour à l'accueil */
.gf-header .gf-inner-logo{padding-top:28px;text-align:left}
.gf-header .gf-inner-logo a{display:inline-block;text-decoration:none}
.gf-header .gf-inner-logo img{display:block;width:160px;height:auto;margin-left:-24px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
@media (max-width:1200px){.gf-header .gf-inner-logo{padding-top:4px}}
@media (max-width:992px){.gf-header .gf-inner-logo{text-align:center}}
@media (max-width:767px){.gf-header .gf-inner-logo img{width:140px;margin:0 auto}}
/* accueil : logo blanc et vidéos */
.gf-header .gf-logo-blanc{display:inline-block;margin-top:80px;width:58%}
.gf-header .gf-logo-blanc img{width:250px;max-width:100%;height:auto}
/* le bloc Image pose un aperçu flou en fond de l'image : sur un logo blanc transparent il reste visible en halo */
.gf-header .gf-logo-blanc img{background:none!important}
@media (max-width:767px){.gf-header .gf-logo-blanc{width:68%;display:block;margin:auto}}
.gf-header .gf-videos{display:flex;flex-wrap:wrap;gap:20px!important;justify-content:center}
.gf-header .gf-videos>div{flex:1 1 400px!important;max-width:calc(50% - 10px)!important}
@media (max-width:599px){
  .gf-header .gf-videos{gap:16px!important;padding:0 15px}
  .gf-header .gf-videos>div{flex:1 1 100%!important;max-width:100%!important}
  .gf-header .gf-videos .vw-video div[style*="height"]{height:auto!important;aspect-ratio:16/9}
}
/* vidéos : bouton lecture carré beige (comme les flèches du diaporama) */
.gf-header .gf-videos .vw-video button>div[aria-hidden]:first-of-type{background:linear-gradient(to top,rgba(0,0,0,.35),transparent 50%)!important}
.gf-header .gf-videos .vw-video button>div[aria-hidden]:last-child{align-items:flex-end!important;justify-content:flex-end!important}
.gf-header .gf-videos .vw-video [class*="rounded-full"]{width:56px!important;height:56px!important;border-radius:0!important;background:var(--site-secondary)!important;color:var(--site-primary);box-shadow:0 14px 30px -12px rgba(0,0,0,.7)!important;transition:transform .25s,background-color .25s}
.gf-header .gf-videos .vw-video [class*="rounded-full"] svg{width:22px;height:22px;color:var(--site-primary);fill:currentColor}
.gf-header .gf-videos .vw-video button:is(:hover,:focus-visible) [class*="rounded-full"]{background:var(--site-primary)!important;color:var(--site-secondary)}
.gf-header .gf-videos .vw-video button:is(:hover,:focus-visible) [class*="rounded-full"] svg{color:var(--site-secondary)}
.gf-header .gf-videos .vw-video>div>div{border-radius:0!important;box-shadow:0 24px 48px -24px rgba(0,0,0,.8)}
/* accueil : encart de l'édition */
.gf-header .gf-encart{padding:25px;margin-top:70px}
@media (max-width:767px){.gf-header .gf-encart{padding:15px;margin-top:15px}}
@media (max-width:992px){.gf-header .gf-encart .vw-text{text-align:center!important}}
.gf-header .gf-encart div.vw-text.prose h1{position:relative;margin:0;padding:10px 0 0;font-family:var(--site-font-heading);font-size:46px;font-weight:700;line-height:55px;text-transform:uppercase}
@media (max-width:1400px){.gf-header .gf-encart div.vw-text.prose h1{font-size:42px;padding:10px 0 28px}}
@media (max-width:992px){.gf-header .gf-encart div.vw-text.prose h1{font-size:40px;line-height:45px;padding:10px 0 11px}}
@media (max-width:767px){.gf-header .gf-encart div.vw-text.prose h1{font-size:24px;padding:8px 0 13px;line-height:30px}}
.gf-header .gf-encart div.vw-text.prose p{font-family:var(--site-font-body);font-size:16px;font-weight:400;line-height:27px;letter-spacing:1px}
/* accueil : bouton du vote du public, collé sous l'encart, la statue debout contre son coin droit */
.gf-header .vw-block.vw-button:has(.gf-vote-cta){display:block;text-align:left;margin:0;padding:22px 25px 0}
.gf-header .vw-block.vw-button:has(.gf-vote-cta)>div{display:block!important;justify-content:flex-start!important;text-align:left!important}
.gf-header .vw-button.gf-vote-cta{width:auto!important;max-width:calc(100% - 64px);margin:0 0 32px!important;text-align:left}
.gf-header .vw-button.gf-vote-cta::before{content:"";position:absolute;bottom:-7px;right:-56px;top:auto;left:auto;z-index:2;width:45px;height:122px;background:url("/api/v1/media/20/file?v=1") no-repeat center bottom/contain;pointer-events:none}
@media (max-width:992px){.gf-header .vw-block.vw-button:has(.gf-vote-cta),.gf-header .vw-block.vw-button:has(.gf-vote-cta)>div{text-align:center!important}.gf-header .vw-block.vw-button:has(.gf-vote-cta)>div{display:flex!important;justify-content:center!important}}
@media (max-width:767px){.gf-header .vw-block.vw-button:has(.gf-vote-cta){padding:18px 15px 0}.gf-header .vw-button.gf-vote-cta{margin-bottom:24px!important}.gf-header .vw-button.gf-vote-cta::before{right:-46px;width:36px;height:98px}}

/* ---------- Actu flash : styles dans le bloc gf-actu-flash ---------- */

/* ---------- Sections de contenu : un seul espacement vertical ---------- */
.gf-ocre{background:var(--site-bg);padding:calc(var(--gf-section)/2) 15px;color:var(--site-text)}
.gf-sponsors{padding:calc(var(--gf-section)/2) 0}
.gf-page-texte{color:var(--site-text)}
h2.vw-heading{position:relative;margin:0 0 48px;padding:0 0 26px;font-family:var(--site-font-heading)!important;font-size:51px;font-weight:700;line-height:1.05;text-transform:uppercase;color:var(--site-text)}
@media (max-width:1400px){h2.vw-heading{font-size:49px}}
@media (max-width:992px){h2.vw-heading{font-size:38px;margin-bottom:36px}}
@media (max-width:767px){h2.vw-heading{font-size:32px;padding-bottom:20px;margin-bottom:28px}}
/* trait beige centré sous les titres de section */
.gf-ocre h2.vw-heading::after,.gf-timeline__titre::after{content:"";position:absolute;left:50%;bottom:0;width:60px;height:3px;background:var(--site-secondary);transform:translateX(-50%)}
@media (max-width:767px){.gf-ocre h2.vw-heading::after,.gf-timeline__titre::after{width:44px}}
h3.vw-heading{margin:0;padding:25px 0 18px;font-family:var(--site-font-heading)!important;font-size:28px;font-weight:500;line-height:36px;color:var(--site-text)}
h3.vw-heading.gf-sponsor-titre{position:relative;margin:0 0 32px;padding:0 0 20px;font-family:var(--site-font-heading)!important;font-size:30px;font-weight:700;text-transform:uppercase;text-align:center}
h3.vw-heading.gf-sponsor-titre::after{content:"";position:absolute;left:50%;bottom:0;width:60px;height:3px;background:var(--site-secondary);transform:translateX(-50%)}
@media (max-width:767px){h3.vw-heading.gf-sponsor-titre{font-size:24px;margin-bottom:24px}}

/* Bloc Texte : typographie du site à la place de « prose » */
div.vw-text.prose{color:inherit;max-width:none;font-size:inherit;line-height:inherit;padding-top:0;padding-bottom:0;--tw-prose-body:currentColor;--tw-prose-headings:currentColor;--tw-prose-links:currentColor;--tw-prose-bold:currentColor;--tw-prose-bullets:currentColor;--tw-prose-counters:currentColor}
div.vw-text.prose :is(p,h1,h2,h3,h4,h5,h6,ul,ol,li,a,strong,b,em,span){color:inherit}
div.vw-text.prose p{margin:10px 0;font-family:var(--site-font-body);font-size:16px;letter-spacing:1px;line-height:28px}
@media (max-width:767px){div.vw-text.prose p{font-size:15px;line-height:25px;letter-spacing:.3px}}
div.vw-text.prose :is(h1,h3){margin:0;padding:25px 0 18px;font-family:var(--site-font-heading);font-size:28px;font-weight:500;line-height:36px;letter-spacing:.01em}
@media (max-width:767px){div.vw-text.prose :is(h1,h3){font-size:23px;margin:4px 0;line-height:30px}}
div.vw-text.prose h4{margin:0;padding:20px 0;font-family:var(--site-font-heading);font-size:21px;font-weight:400;line-height:28px}
@media (max-width:767px){div.vw-text.prose h4{font-size:18px;line-height:25px}}
div.vw-text.prose ul{margin:20px 0;padding:0;list-style:disc}
div.vw-text.prose li{margin:10px 0;padding:0;list-style-position:inside}
div.vw-text.prose li::marker{color:var(--site-secondary)}
div.vw-text.prose a{text-decoration:underline;font-weight:inherit}
div.vw-text.prose a:hover{color:var(--site-secondary)}
div.vw-text.prose :is(strong,b){font-weight:700}
.gf-ocre-texte{padding:0 15px 8px}
.gf-laureats-sec .gf-ocre-texte{max-width:var(--gf-narrow);margin:-12px auto 40px}
.gf-laureats-sec .gf-ocre-texte h3{padding-top:0;color:var(--site-secondary)!important}

/* Accueil : présentation et diaporama */
.gf-presentation .gf-cols{margin:0 -15px}
.gf-presentation .gf-cols>div{padding:0 60px}
@media (max-width:1023px){.gf-presentation .gf-cols>div{padding:0 30px}}
@media (max-width:767px){.gf-presentation .gf-cols>div{padding:0 15px}}
.gf-presentation .gf-cols div.vw-text.prose p{font-weight:300;text-align:left;text-wrap:pretty}
@media (max-width:767px){.gf-presentation .gf-cols div.vw-text.prose p{font-weight:400}}
/* Diaporama : photo 16:9 dans un cadre beige décalé, commandes carrées en bas à droite, repères en barres */
.gf-diapo-row{margin-top:56px}
.gf-diapo{position:relative;max-width:calc(var(--gf-narrow) + 40px);margin:0 auto;padding:0 18px 18px 0}
.gf-diapo::before{content:"";position:absolute;inset:18px 0 0 18px;border:2px solid var(--site-secondary);pointer-events:none}
.gf-diapo .vw-slider__frame{position:relative;z-index:1;background:var(--gf-panel);box-shadow:0 30px 60px -24px rgba(0,0,0,.6)}
.gf-diapo .vw-slider__media{aspect-ratio:16/9}
.gf-diapo .vw-slider__overlay{opacity:1!important;background:linear-gradient(to top,color-mix(in srgb,var(--site-primary) 80%,transparent) 0,transparent 32%)!important}
.gf-diapo .vw-slider__arrow{top:auto!important;bottom:0!important;left:auto!important;transform:none!important;translate:none!important;display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0!important;border-radius:0!important;background:var(--site-secondary)!important;color:var(--site-primary)!important;transition:background-color .25s,color .25s}
.gf-diapo .vw-slider__arrow:is(:hover,:focus-visible){background:var(--site-primary)!important;color:var(--site-secondary)!important}
.gf-diapo .vw-slider__arrow svg{width:22px;height:22px}
.gf-diapo .vw-slider__arrow--prev{right:56px!important;border-right:1px solid color-mix(in srgb,var(--site-primary) 25%,transparent)}
.gf-diapo .vw-slider__arrow--next{right:0!important}
.gf-diapo .vw-slider__pause{top:16px!important;right:16px!important;bottom:auto!important;width:36px!important;height:36px!important;border-radius:0!important;background:color-mix(in srgb,var(--site-primary) 70%,transparent)!important;color:#fff!important}
.gf-diapo .vw-slider__pause:is(:hover,:focus-visible){background:var(--site-primary)!important}
.gf-diapo .vw-slider__dots{left:28px!important;bottom:20px!important;transform:none!important;translate:none!important;gap:6px!important}
.gf-diapo .vw-slider__dot{width:22px!important;height:15px!important;padding:6px 0!important;border-radius:0!important;background:rgba(255,255,255,.45)!important;background-clip:content-box!important;transition:width .3s,background-color .3s}
.gf-diapo .vw-slider__dot:hover{background:rgba(255,255,255,.8)!important;background-clip:content-box!important}
.gf-diapo .vw-slider__dot.is-active{width:44px!important;background:var(--site-secondary)!important;background-clip:content-box!important}
@media (max-width:767px){
  .gf-diapo-row{margin-top:32px}
  .gf-diapo{padding:0 10px 10px 0}
  .gf-diapo::before{inset:10px 0 0 10px}
  .gf-diapo .vw-slider__arrow{width:44px;height:44px}
  .gf-diapo .vw-slider__arrow--prev{right:44px!important}
  .gf-diapo .vw-slider__dots{display:none!important}
}

/* Accueil : lauréats (Grille de cartes)
   Cartes carrées qui remplissent leur colonne (3 / 2 / 1). Le nom et « Plus d'infos »
   sont toujours visibles ; au survol, le résumé apparaît. Toute la carte est cliquable. */
.gf-laureats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;width:100%;max-width:1200px;margin:0 auto!important}
@media (max-width:1023px){.gf-laureats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:599px){.gf-laureats{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}}
.gf-laureats .vw-card-grid__card{position:relative;width:auto;margin:0;aspect-ratio:1/1;overflow:hidden;background:var(--gf-panel)!important;color:var(--site-text);border:0!important;box-shadow:0 24px 44px -28px rgba(0,0,0,.75)!important;border-radius:0!important}
.gf-laureats .vw-card-grid__media{position:absolute!important;inset:0;font-size:0;line-height:0}
.gf-laureats .vw-card-grid__image{width:100%!important;height:100%!important;max-width:none;object-fit:cover;transform:none;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)!important}
.gf-laureats .vw-card-grid__card:is(:hover,:focus-within) .vw-card-grid__image{transform:scale(1.06)!important}
.gf-laureats .vw-card-grid__badge{position:absolute!important;z-index:3;top:20px!important;left:0!important;right:auto!important;padding:11px 18px 10px 62px!important;border-radius:0!important;background:var(--site-secondary)!important;color:var(--site-primary)!important;font-family:var(--site-font-heading);font-size:18px!important;font-weight:500!important;letter-spacing:.06em;line-height:1.1;text-transform:uppercase}
.gf-laureats .vw-card-grid__badge::before{content:"";position:absolute;left:18px;top:50%;width:32px;height:34px;background:url("/api/v1/media/17/file?v=1") no-repeat center/contain;transform:translateY(-50%)}
.gf-laureats .vw-card-grid__body{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:28px!important;background:linear-gradient(to top,color-mix(in srgb,var(--site-bg) 94%,transparent) 0,color-mix(in srgb,var(--site-bg) 70%,transparent) 28%,transparent 62%);transition:background-color .5s ease}
.gf-laureats .vw-card-grid__card:is(:hover,:focus-within) .vw-card-grid__body{background-color:color-mix(in srgb,var(--site-bg) 82%,transparent)}
.gf-laureats .vw-card-grid__title{flex:none;margin:0;padding:0;font-family:var(--site-font-heading)!important;font-size:25px!important;font-weight:500!important;line-height:1.2;letter-spacing:.01em;color:var(--site-text)}
.gf-laureats .vw-card-grid__description{flex:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;max-height:0;margin:0!important;overflow:hidden;opacity:0;font-family:var(--site-font-body);font-size:14px!important;line-height:22px!important;letter-spacing:.5px;color:var(--site-text)!important;white-space:normal!important;transition:max-height .6s ease,opacity .4s ease,margin .4s ease}
.gf-laureats .vw-card-grid__card:is(:hover,:focus-within) .vw-card-grid__description{max-height:132px;margin:12px 0 0!important;opacity:1}
.gf-laureats .vw-card-grid__button{position:static;flex:none;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin:12px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:var(--site-secondary)!important;font-family:var(--site-font-heading);font-size:16px!important;font-weight:500!important;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important}
.gf-laureats .vw-card-grid__button::after{content:"\2192";font-family:var(--site-font-body);transition:transform .25s}
.gf-laureats .vw-card-grid__button::before{content:"";position:absolute;inset:0;z-index:4}
.gf-laureats .vw-card-grid__card:is(:hover,:focus-within) .vw-card-grid__button::after{transform:translateX(5px)}
.gf-laureats .vw-card-grid__button:focus-visible{outline:none}
.gf-laureats .vw-card-grid__card:has(.vw-card-grid__button:focus-visible){outline:2px solid var(--site-secondary);outline-offset:3px}
@media (max-width:767px){
  .gf-laureats .vw-card-grid__body{padding:22px!important}
  .gf-laureats .vw-card-grid__title{font-size:22px!important}
  .gf-laureats .vw-card-grid__badge{top:16px!important;font-size:15px!important;padding:9px 14px 8px 50px!important}
  .gf-laureats .vw-card-grid__badge::before{left:14px;width:26px;height:28px}
}
@media (hover:none){.gf-laureats .vw-card-grid__description{display:none}}
/* le moteur pose vw-surface-light (texte foncé) sur les cartes : elles sont sombres ici, on garde le texte clair du thème */
.gf-laureats .vw-card-grid__card{color:var(--gf-on-dark);--site-text:var(--gf-on-dark);--site-text-muted:var(--gf-on-dark-muted)}
/* dernière carte seule sur sa ligne (le prix du public) : centrée */
@media (min-width:1024px){.gf-laureats .vw-card-grid__card:last-child:nth-child(3n+1){grid-column:2}}
@media (min-width:600px) and (max-width:1023px){.gf-laureats .vw-card-grid__card:last-child:nth-child(2n+1){grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}}

/* Accueil : partenaires (Barre de logos)
   Les fichiers des logos sont recadrés sur un même format 2:1 (poids visuel égal) :
   la grille les montre tous dans la même boîte. */
.gf-logos{margin:0 auto 64px;max-width:1200px}
.gf-logos .vw-logo-bar__list{display:grid!important;grid-template-columns:repeat(var(--gf-cols,6),minmax(0,1fr));gap:0!important;align-items:stretch;background:#fff;border-radius:0;overflow:hidden;box-shadow:0 22px 44px -26px rgba(0,0,0,.6)}
.gf-logos--major{--gf-cols:4}
.gf-logos--support{--gf-cols:5;margin-bottom:0}
@media (max-width:1023px){.gf-logos{--gf-cols:3}.gf-logos--major{--gf-cols:2}}
@media (max-width:599px){.gf-logos{--gf-cols:2}.gf-logos--support{--gf-cols:3}}
.gf-logos .vw-logo-bar__item{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;padding:18px 20px;border:1px solid var(--gf-logos-line);transition:background-color .3s ease}
.gf-logos--major .vw-logo-bar__item{min-height:140px}
.gf-logos .vw-logo-bar__item:hover{background-color:var(--gf-logos-hover)}
.gf-logos .vw-logo-bar__logo{display:block;width:100%;max-width:200px;height:auto!important;max-height:none;aspect-ratio:2/1;object-fit:contain;filter:grayscale(100%);opacity:.72!important;transition:filter .3s ease,opacity .3s ease}
.gf-logos--major .vw-logo-bar__logo{max-width:240px}
.gf-logos .vw-logo-bar__item:is(:hover,:focus-visible) .vw-logo-bar__logo{filter:grayscale(0%);opacity:1!important}
.gf-logos .vw-logo-bar__item::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--site-secondary);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s ease}
.gf-logos .vw-logo-bar__item:is(:hover,:focus-visible)::after{transform:scaleX(1)}
@media (max-width:767px){.gf-logos{margin-bottom:48px}.gf-logos--support{margin-bottom:0}.gf-logos .vw-logo-bar__item{padding:12px;min-height:86px}.gf-logos--major .vw-logo-bar__item{min-height:100px}}

/* Devenir sponsor : encart dans un cadre beige décalé, dossier en bouton plein */
.gf-sponsoring .gf-bandeau--aere{position:relative;max-width:var(--gf-narrow);margin:0 auto 18px;padding:52px 56px 60px!important;background:var(--gf-panel);--gf-btn-under:var(--gf-panel)}
.gf-sponsoring .gf-bandeau--aere::before{content:"";position:absolute;inset:16px -16px -16px 16px;z-index:-1;border:2px solid var(--site-secondary);pointer-events:none}
.gf-sponsoring .gf-bandeau--aere h3{padding-top:0;font-size:32px;line-height:40px}
.gf-sponsoring .gf-bandeau--aere a{display:flex;width:fit-content;margin:26px auto 0}
@media (max-width:767px){.gf-sponsoring .gf-bandeau--aere{margin:0 18px 18px 8px;padding:32px 22px 38px!important}.gf-sponsoring .gf-bandeau--aere h3{font-size:24px;line-height:31px}.gf-sponsoring .gf-bandeau--aere::before{inset:10px -10px -10px 10px}}

/* ---------- Calendrier (bloc gf-timeline) ----------
   ≥ 1024 px : frise horizontale, la ligne se remplit jusqu'à l'étape en cours.
   < 1024 px : frise verticale, ligne à gauche. L'étape en cours pulse. */
.select-wrapper{padding:calc(var(--gf-section)/2) 15px;overflow:hidden}
.gf-timeline__titre{position:relative;margin:0 0 56px!important;padding:0 0 26px!important;text-align:center;font-size:51px;line-height:1.05}
@media (max-width:1400px){.gf-timeline__titre{font-size:49px}}
@media (max-width:992px){.gf-timeline__titre{font-size:38px;margin-bottom:40px!important}}
@media (max-width:767px){.gf-timeline__titre{font-size:32px;padding-bottom:20px!important;margin-bottom:32px!important}}
.select-wrapper .step-wrapper{position:relative;display:flex;flex-wrap:nowrap;justify-content:space-between;margin:0;padding:0;list-style:none}
.select-wrapper .step{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;margin:0;padding:0 10px;text-align:center}
.select-wrapper .step+.step::before{content:"";position:absolute;top:25px;left:-50%;width:100%;height:3px;background:color-mix(in srgb,var(--site-secondary) 28%,transparent);transition:background-color .6s ease}
.timeline-progress .step:is(.step-completed,.step-active)+.step:is(.step-completed,.step-active)::before{background:var(--site-secondary)}
.select-wrapper .step .number{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:none;width:50px;height:50px;padding:0;border:3px solid var(--site-secondary);border-radius:50%;background:#fff;color:var(--site-primary);font-family:var(--site-font-heading);font-size:20px;font-weight:500;line-height:1}
.select-wrapper .step h3{margin:0;padding:20px 0 8px;font-family:var(--site-font-heading);font-size:20px;font-weight:600;line-height:1.3;text-wrap:balance}
.select-wrapper .step p{margin:0;font-family:var(--site-font-heading);font-size:17px;letter-spacing:.04em;line-height:1.4}
@media (max-width:1279px){.select-wrapper .step{padding:0 6px}.select-wrapper .step h3{font-size:17px}.select-wrapper .step p{font-size:15px}}
.timeline-progress .step:is(.step-completed,.step-active) .number{background:var(--site-secondary);color:var(--site-primary);border-color:var(--site-secondary)}
.timeline-progress .step:is(.step-completed,.step-active) h3{color:var(--site-secondary)}
.timeline-progress .step.step-upcoming .number{background:var(--site-bg);border-color:color-mix(in srgb,var(--site-secondary) 45%,transparent);color:color-mix(in srgb,var(--site-secondary) 75%,transparent)}
.timeline-progress .step.step-upcoming :is(h3,p){opacity:.55}
@keyframes gf-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--site-secondary) 55%,transparent)}100%{box-shadow:0 0 0 16px color-mix(in srgb,var(--site-secondary) 0%,transparent)}}
.timeline-progress .step.step-active .number{animation:gf-pulse 2.4s ease-out infinite}
@media (max-width:1023px){
  .select-wrapper .step-wrapper{display:block;max-width:560px;margin:0 auto}
  .select-wrapper .step{display:grid;grid-template-columns:50px minmax(0,1fr);column-gap:22px;align-items:start;padding:0 0 30px;text-align:left}
  .select-wrapper .step .number{grid-row:1/span 2}
  .select-wrapper .step h3{grid-column:2;padding:11px 0 4px;font-size:20px}
  .select-wrapper .step p{grid-column:2;font-size:16px}
  .select-wrapper .step+.step::before{display:none}
  .select-wrapper .step:not(:last-child)::after{content:"";position:absolute;left:23.5px;top:50px;bottom:0;width:3px;background:color-mix(in srgb,var(--site-secondary) 28%,transparent)}
  .timeline-progress .step:is(.step-completed,.step-active):has(+ .step:is(.step-completed,.step-active))::after{background:var(--site-secondary)}
}

/* ---------- Pied de page ---------- */
.gf-footer{position:relative;padding:72px 0 0;background-color:var(--site-bg);color:var(--site-text);overflow:hidden;border-top:1px solid color-mix(in srgb,var(--site-text) 10%,transparent)}
.gf-footer a{color:var(--site-text)!important;text-decoration:none!important}
.gf-footer a:hover{color:var(--site-secondary)!important}
.gf-footer__inner{position:relative}
.gf-footer__main{position:static;display:grid;grid-template-columns:minmax(0,.9fr) repeat(3,minmax(0,1fr));column-gap:32px;align-items:start;padding:0 170px 52px 0}
.gf-footer__brand img{display:block;width:150px;height:auto;margin:-18px 0 0 -14px}
.gf-footer__col{padding-top:6px}
.gf-contact{display:flex;align-items:flex-start;gap:12px;margin:0 0 10px;font-family:var(--site-font-body);font-size:15px;line-height:26px;letter-spacing:.5px}
.gf-contact svg{flex:none;width:18px;height:18px;margin-top:4px;color:var(--site-secondary)}
.gf-contact__adresse{white-space:pre-line}
.gf-contact__personne,.gf-contact__personne :is(div,p){display:inline;margin:0!important;padding:0!important;font:inherit!important;letter-spacing:inherit!important}
.gf-contact__personne-ligne{display:block;opacity:.75}
.gf-footer__statue{position:absolute;right:30px;bottom:-34px;z-index:0;pointer-events:none}
.gf-footer__statue img{display:block;width:100px;height:auto;max-width:none}
.gf-footer__bottom{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:22px 0 26px;border-top:1px solid color-mix(in srgb,var(--site-text) 14%,transparent)}
.gf-footer__bottom div.vw-text.prose{display:contents}
.gf-footer__bottom div.vw-text.prose p{margin:0!important;font-size:13px!important;font-weight:400;line-height:22px!important;letter-spacing:.3px!important;color:color-mix(in srgb,var(--site-text) 75%,transparent)}
.gf-footer__bottom a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--site-text) 35%,transparent)!important}
.gf-footer__bottom .vw-block,.gf-footer__bottom .vw-block>div{display:contents}
/* « Réalisé par » : logo Intermediatic en ligne, comme sur les autres sites réalisés */
.gf-footer__bottom img{display:inline-block;width:auto!important;height:22px!important;max-width:none;margin:0 4px;vertical-align:middle;opacity:.9;transition:opacity .2s}
.gf-footer__bottom a:has(img){text-decoration:none!important}
.gf-footer__bottom a:has(img):hover img{opacity:1}
@media (max-width:1200px){.gf-footer__main{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px;padding-right:0}.gf-footer__brand{grid-column:1/-1}.gf-footer__statue{display:none}}
@media (max-width:767px){.gf-footer{padding-top:48px}.gf-footer__main{grid-template-columns:minmax(0,1fr);row-gap:14px;padding-bottom:32px}.gf-footer__brand{margin-bottom:10px}.gf-footer__brand img{width:140px}.gf-footer__bottom{display:block}.gf-footer__bottom div.vw-text.prose p+p{margin-top:6px!important}}

/* ---------- Fiche d'un nominé (gabarit de la collection « Nominés ») ---------- */
.gf-fiche{padding:0 0 var(--gf-section)}
.gf-fiche__nav{margin:0 0 28px!important}
.gf-fiche__back{display:inline-flex;align-items:center;gap:8px;font-family:var(--site-font-heading);font-size:16px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--site-secondary)!important;text-decoration:none!important}
.gf-fiche__back:hover{color:#fff!important}
.gf-nomine{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
@media (max-width:1023px){.gf-nomine{gap:40px}}
@media (max-width:767px){.gf-nomine{display:block}.gf-nomine__desc{margin-top:36px}}
.gf-nomine__photos{position:relative;padding:0 16px 16px 0}
.gf-nomine__photos::before{content:"";position:absolute;inset:16px 0 0 16px;border:2px solid var(--site-secondary);pointer-events:none}
.gf-nomine__photos ul{list-style:none;margin:0;padding:0}
.gf-nomine__photos li{margin:0}
.gf-nomine__photos img{display:block;width:100%;height:auto}
.gf-nomine__photos .gf-nomine__track{position:relative;z-index:1;box-shadow:0 24px 48px -24px rgba(0,0,0,.7)}
.gf-nomine__contact{margin:36px 0 0;padding:0;list-style:none;font-style:normal}
.gf-nomine__contact:not(:has(li)){display:none}
.gf-nomine__contact li{display:flex;align-items:flex-start;gap:12px;margin:0 0 10px;font-family:var(--site-font-body);font-size:15px;line-height:24px;letter-spacing:.3px;overflow-wrap:anywhere}
.gf-nomine__contact svg{flex:none;width:18px;height:18px;margin-top:3px;color:var(--site-secondary)}
#main-content .gf-nomine__contact a,.gf-nomine__contact a{color:inherit;text-decoration:none}
#main-content .gf-nomine__contact a:hover,.gf-nomine__contact a:hover{color:var(--site-secondary);text-decoration:underline}
.gf-nomine__eyebrow{display:inline-block;margin:0 0 14px!important;padding:7px 14px 6px;background:var(--site-secondary);color:var(--site-primary);font-family:var(--site-font-heading)!important;font-size:15px!important;font-weight:500;line-height:1.2!important;letter-spacing:.1em!important;text-transform:uppercase}
.gf-fiche h1.gf-nomine__nom{margin:0;padding:0 0 18px;font-family:var(--site-font-heading);font-size:44px;font-weight:700;line-height:1.1;text-align:left}
@media (max-width:767px){.gf-fiche h1.gf-nomine__nom{font-size:32px}}
.gf-nomine__soustitre{margin:-6px 0 18px!important;font-family:var(--site-font-heading)!important;font-size:22px!important;font-weight:400;line-height:30px!important;letter-spacing:.02em!important;color:var(--site-secondary);text-align:left}
.gf-nomine__nom::after{content:"";display:block;width:60px;height:3px;margin-top:18px;background:var(--site-secondary)}
.gf-nomine__texte{max-width:68ch;text-align:left}
.gf-nomine__texte p{margin:0 0 16px;font-size:16px;line-height:1.75;letter-spacing:.3px}
@media (max-width:767px){.gf-nomine__texte p{font-size:15px}}
.gf-nomine__video{position:relative;margin-top:36px;padding:0 16px 16px 0}
.gf-nomine__video::before{content:"";position:absolute;inset:16px 0 0 16px;border:2px solid color-mix(in srgb,var(--site-secondary) 55%,transparent);pointer-events:none}
.gf-nomine__video div[style*="height"]{height:auto!important;aspect-ratio:16/9}
.gf-nomine__video div[style*="height"]{border-radius:0!important;box-shadow:0 24px 48px -24px rgba(0,0,0,.7)}
.gf-nomine__video button>div[aria-hidden]:last-child{align-items:flex-end!important;justify-content:flex-end!important}
.gf-nomine__video [class*="rounded-full"]{width:56px!important;height:56px!important;border-radius:0!important;background:var(--site-secondary)!important}
.gf-nomine__video [class*="rounded-full"] svg{color:var(--site-primary);fill:currentColor}
.gf-nomine__cta{margin:40px 0 0!important}
.gf-nomine__video:not(:has(button)){display:none}
/* fiche sans photo ni coordonnées : le texte prend toute la largeur */
.gf-nomine__aside:not(:has(.gf-nomine__photos,.gf-nomine__contact li)){display:none}
.gf-nomine:not(:has(.gf-nomine__photos,.gf-nomine__contact li)){display:block;max-width:820px}

/* ---------- Retour en haut ---------- */
.vw-back-to-top{bottom:2em;right:20px;width:48px!important;height:48px!important;padding:0!important;border-radius:0!important;background:var(--site-secondary)!important;color:var(--site-primary)!important;box-shadow:0 12px 26px -12px rgba(0,0,0,.7)!important;transition:background-color .25s,color .25s,opacity .2s,transform .2s}
.vw-back-to-top:is(:hover,:focus-visible){opacity:1!important;background:var(--site-primary)!important;color:var(--site-secondary)!important;outline:2px solid var(--site-secondary);outline-offset:0}
@media (max-width:767px){.vw-back-to-top{display:none!important}}

/* ---------- Page Cookies (déclaration Cookiebot) ---------- */
.gf-page-cookies{max-width:var(--gf-narrow);margin:0 auto;padding:0 15px var(--gf-section)}
.gf-page-cookies h1{margin:0 0 32px;padding:0 0 26px;font-size:46px;line-height:1.1;text-transform:uppercase}
.gf-page-cookies h1::after{content:"";position:absolute;left:0;bottom:0;width:60px;height:3px;background:var(--site-secondary)}
#CookieDeclaration{font-family:var(--site-font-body);font-size:15px;line-height:1.7;letter-spacing:.3px;color:var(--site-text)}
#CookieDeclaration a{color:var(--site-secondary)!important}
#CookieDeclaration :is(table,th,td){border-color:color-mix(in srgb,var(--site-text) 18%,transparent)!important}
#CookieDeclaration .CookieDeclarationType{border-color:color-mix(in srgb,var(--site-text) 18%,transparent)!important}

/* ---------- Page « Vote du public » (bloc Vote) ---------- */
.gf-vote{padding-top:0!important}
.gf-vote-bloc .vw-vote__intro{text-align:center;max-width:900px!important;margin:0 auto}
.gf-vote-bloc .vw-vote__intro h1{margin:0;padding:0 0 20px;font-family:var(--site-font-heading);font-size:46px;font-weight:700;line-height:55px;text-transform:uppercase}
.gf-vote-bloc .vw-vote__intro h1+h4{margin-top:0}
.gf-vote-bloc .vw-vote__intro h4{margin:0;padding:0 0 10px;font-family:var(--site-font-heading);font-size:24px;font-weight:400;line-height:34px;color:var(--site-secondary)}
.gf-vote-bloc .vw-vote__intro p{margin:10px 0}
/* « Comment procéder ? » : titre de section avec le trait beige, plus de bandeau gris */
.gf-vote-bloc .vw-vote__intro :is(h2,h3){position:relative;margin:64px 0 28px;padding:0 0 24px;font-family:var(--site-font-heading);font-size:40px;font-weight:700;line-height:1.1;text-transform:uppercase}
.gf-vote-bloc .vw-vote__intro :is(h2,h3)::after{content:"";position:absolute;left:50%;bottom:0;width:60px;height:3px;background:var(--site-secondary);transform:translateX(-50%)}
.gf-vote-bloc .vw-vote__deadline{color:var(--site-secondary)!important;font-size:14px!important}
.gf-vote-bloc .vw-vote__panel--start>div:last-child{margin:72px 0 100px}
.gf-vote-bloc .vw-vote__button{padding:14px 28px!important;font-family:var(--site-font-heading);font-size:19px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;background:var(--site-secondary)!important;color:var(--site-primary)!important;border:0!important;border-radius:0!important;transition:background-color .3s,color .3s}
.gf-vote-bloc .vw-vote__button:hover:not(:disabled){background:#fff!important;color:var(--site-primary)!important;opacity:1}
.gf-vote-bloc .vw-vote__button:disabled{opacity:.35}
.gf-vote-bloc .vw-vote__start,.gf-vote-bloc .vw-vote__submit{font-size:24px!important;padding:18px 34px!important}
/* encarts : couleur « Accent » du thème, cadre beige décalé */
.gf-vote-bloc .vw-vote__counter{margin:0;padding:22px 20px 0;background:var(--gf-panel);color:var(--site-secondary)!important;font-family:var(--site-font-heading);font-size:24px!important;font-weight:400!important;line-height:1.3!important;letter-spacing:.04em!important;text-transform:uppercase!important;text-align:center}
.gf-vote-bloc .vw-vote__step-title{margin:0!important;padding:4px 20px 22px;background:var(--gf-panel);color:var(--site-text);font-family:var(--site-font-heading);font-size:30px!important;font-weight:500!important;line-height:1.3!important;text-align:center}
.gf-vote-bloc .vw-vote__rule{text-align:center;color:var(--site-secondary)!important}
.gf-vote-bloc .vw-vote__progress{margin-top:0!important;border-radius:0!important;background:color-mix(in srgb,var(--site-text) 15%,transparent)!important}
.gf-vote-bloc .vw-vote__progress>div{background:var(--site-secondary)!important;border-radius:0!important}
.gf-vote-bloc .vw-vote__grid{gap:30px!important;margin-top:30px!important;padding:0;list-style:none}
.gf-vote-bloc .vw-vote__photo{border-radius:0!important;background:var(--gf-panel)!important;transition:box-shadow .3s ease}
.gf-vote-bloc .vw-vote__photo img{transition:transform 1s cubic-bezier(.2,.6,.2,1)}
.gf-vote-bloc .vw-vote__pick{transition:transform .3s ease}
.gf-vote-bloc .vw-vote__pick:hover{transform:translateY(-4px)}
.gf-vote-bloc .vw-vote__pick:hover .vw-vote__photo{box-shadow:0 22px 40px -20px rgba(0,0,0,.75)}
.gf-vote-bloc .vw-vote__pick:hover .vw-vote__photo img{transform:scale(1.05)}
.gf-vote-bloc .vw-vote__check{background:color-mix(in srgb,var(--site-primary) 45%,transparent)!important}
.gf-vote-bloc .vw-vote__check svg{width:28%;height:28%;color:var(--site-secondary)}
.gf-vote-bloc .vw-vote__pick:is([aria-pressed="true"],[aria-checked="true"]) .vw-vote__check{opacity:1!important;background:color-mix(in srgb,var(--site-primary) 55%,transparent)!important;box-shadow:inset 0 0 0 4px var(--site-secondary)}
.gf-vote-bloc .vw-vote__pick:is([aria-pressed="true"],[aria-checked="true"]) .vw-vote__photo{outline:4px solid var(--site-secondary);outline-offset:-4px}
.gf-vote-bloc .vw-vote__name{margin-top:14px!important;font-family:var(--site-font-heading);font-size:23px!important;font-weight:500!important;line-height:30px!important}
.gf-vote-bloc .vw-vote__subtitle{font-family:var(--site-font-heading);font-size:18px!important;line-height:26px;color:var(--site-secondary)!important}
.gf-vote-bloc .vw-vote__more{margin-top:12px!important;font-size:14px!important;padding:7px 16px!important}
.gf-vote-bloc .vw-vote__form-intro{text-align:center;max-width:900px!important;margin-left:auto;margin-right:auto}
.gf-vote-bloc .vw-vote__form-intro p{font-size:18px;line-height:30px}
.gf-vote-bloc .vw-vote__summary{max-width:900px;margin-left:auto;margin-right:auto;border-color:color-mix(in srgb,var(--site-text) 30%,transparent)!important;border-radius:0!important}
.gf-vote-bloc .vw-vote__summary h4{padding:0;font-family:var(--site-font-heading);font-size:20px;font-weight:400}
.gf-vote-bloc .vw-vote__summary li{margin:4px 0}
.gf-vote-bloc :is(.vw-vote__fields,.vw-vote__optin,.vw-vote__captcha,.vw-vote__privacy),.gf-vote-bloc .vw-vote__panel--details .vw-vote__nav{max-width:900px;margin-left:auto;margin-right:auto}
.gf-vote-bloc .vw-vote__label{color:var(--site-text)!important;font-size:14px!important}
.gf-vote-bloc .vw-vote__input{height:48px;font-family:var(--site-font-body);font-size:16px!important;letter-spacing:.3px;border-radius:0!important}
.gf-vote-bloc .vw-vote__optin{font-size:14px!important;margin-top:16px!important}
.gf-vote-bloc .vw-vote__privacy{font-size:14px!important}
.gf-vote-bloc .vw-vote__error{color:var(--gf-err-text)!important;font-size:13px!important}
.gf-vote-bloc :is(.vw-vote__alert,.vw-vote__confirm--error){border:2px solid var(--gf-err)!important;border-radius:0!important;background:var(--gf-err-bg)!important;color:var(--gf-err)!important;font-family:var(--site-font-heading);font-size:18px!important;line-height:26px;text-align:center}
.gf-vote-bloc :is(.vw-vote__success,.vw-vote__confirm--ok){max-width:800px!important;border:2px solid var(--gf-ok)!important;border-radius:0!important;background:var(--gf-ok-bg)!important;color:var(--gf-ok)!important;font-family:var(--site-font-heading);font-size:18px!important;line-height:26px}
.gf-vote-bloc .vw-vote__success svg{color:var(--gf-ok)!important}
.gf-vote-bloc .vw-vote__title{padding:0;font-family:var(--site-font-heading);font-size:26px!important;text-transform:uppercase}
/* « Le vote ouvrira le… » / brouillon : encart avec le cadre beige décalé */
.gf-vote-bloc :is(.vw-vote__notice,.vw-vote__panel--draft){position:relative;max-width:820px;margin:48px auto 24px!important;padding:36px 40px!important;border:0!important;border-radius:0!important;background:var(--gf-panel)!important;color:var(--site-text);font-family:var(--site-font-heading);font-size:26px!important;line-height:36px;letter-spacing:.02em;text-align:center}
.gf-vote-bloc :is(.vw-vote__notice,.vw-vote__panel--draft)::before{content:"";position:absolute;inset:14px -14px -14px 14px;z-index:-1;border:2px solid var(--site-secondary);pointer-events:none}
.gf-vote-bloc .vw-vote__notice::after{content:"";display:block;width:60px;height:3px;margin:20px auto 0;background:var(--site-secondary)}
/* Module de vote, mise à jour moteur du 13/10 : choix en role="radio" (aria-checked), initiales sans photo,
   fiche du nominé en fenêtre, suggestion d'e-mail, écrans après envoi */
.gf-vote-bloc .vw-vote__button--previous,.gf-vote-bloc .vw-vote__button--again{background:transparent!important;color:var(--site-secondary)!important;border:0!important;box-shadow:inset 0 0 0 2px var(--site-secondary)!important}
.gf-vote-bloc :is(.vw-vote__button--previous,.vw-vote__button--again):hover:not(:disabled){background:var(--site-secondary)!important;color:var(--site-primary)!important}
.gf-vote-bloc .vw-vote__button--next:disabled{opacity:1;background:transparent!important;color:color-mix(in srgb,var(--site-text) 40%,transparent)!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--site-text) 18%,transparent)!important;cursor:not-allowed}
.gf-vote-bloc .vw-vote__initials{font-family:var(--site-font-heading);font-size:clamp(40px,6vw,72px)!important;font-weight:500!important;letter-spacing:.06em;color:var(--site-secondary);opacity:.55!important}
.gf-vote-bloc .vw-vote__pick:is([aria-pressed="true"],[aria-checked="true"]) .vw-vote__initials{opacity:.15!important}
.gf-vote-bloc .vw-vote__pick:is([aria-pressed="true"],[aria-checked="true"]) .vw-vote__name{color:var(--site-secondary)}
.gf-vote-bloc .vw-vote__suggestion{margin-top:8px;font-size:14px;color:var(--site-secondary)}
.gf-vote-bloc .vw-vote__suggestion :is(a,button){color:var(--site-secondary)!important;text-decoration:underline;text-underline-offset:3px}
.gf-vote-bloc .vw-vote__change{color:var(--site-secondary)!important}
.gf-vote-bloc .vw-vote__required{color:var(--site-secondary)!important}
.gf-vote-bloc .vw-vote__success-title{font-family:var(--site-font-heading);font-size:30px;font-weight:700;line-height:1.15;text-transform:uppercase}
.gf-vote-bloc :is(.vw-vote__restart,.vw-vote__restart-hint){font-size:14px;opacity:.8}
.gf-vote-bloc .vw-vote__confirm--pending{position:relative;max-width:820px;margin:48px auto 24px;padding:36px 40px;border:0!important;border-radius:0!important;background:var(--gf-panel)!important;color:var(--site-text)!important;font-family:var(--site-font-heading);font-size:22px;line-height:32px;text-align:center}
/* fenêtre « Plus d'infos » : panneau du site, angles droits, cadre beige, boutons du site */
.vw-vote__dialog{--gf-btn-under:var(--gf-panel);border:0!important;border-radius:0!important;background:var(--gf-panel)!important;color:var(--site-text)!important;box-shadow:0 40px 80px -30px rgba(0,0,0,.85),inset 0 0 0 1px color-mix(in srgb,var(--site-secondary) 35%,transparent)!important}
.vw-vote__dialog::backdrop{background:color-mix(in srgb,var(--site-bg) 82%,#000)!important;backdrop-filter:blur(3px)}
.vw-vote__dialog>div{padding:40px 44px 44px!important}
.vw-vote__dialog .vw-vote__dialog-title{margin:0;padding:0 48px 18px 0!important;font-family:var(--site-font-heading);font-size:38px!important;font-weight:700!important;line-height:1.1!important;text-transform:uppercase;color:var(--site-text)}
.vw-vote__dialog .vw-vote__dialog-title::after{content:"";display:block;width:60px;height:3px;margin-top:18px;background:var(--site-secondary)}
.vw-vote__dialog .vw-vote__dialog-subtitle{margin:0 0 6px!important;font-family:var(--site-font-heading);font-size:20px!important;letter-spacing:.02em;color:var(--site-secondary)!important}
.vw-vote__dialog .vw-vote__dialog-status{font-family:var(--site-font-heading);font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--site-secondary)}
.vw-vote__dialog .vw-vote__dialog-text,.vw-vote__dialog .vw-vote__dialog-text p{color:var(--site-text)!important;font-size:15px;line-height:1.75;letter-spacing:.3px}
.vw-vote__dialog .vw-vote__dialog-photos,.vw-vote__dialog .vw-vote__dialog-photo,.vw-vote__dialog .vw-vote__dialog-video,.vw-vote__dialog .vw-vote__dialog-photos img{border-radius:0!important}
.vw-vote__dialog :is(.vw-vote__dialog-prev,.vw-vote__dialog-next){width:44px;height:44px;border-radius:0!important;background:var(--site-secondary)!important;color:var(--site-primary)!important}
.vw-vote__dialog .vw-vote__dialog-counter{font-family:var(--site-font-heading);letter-spacing:.06em;color:var(--site-secondary)}
.vw-vote__dialog .vw-vote__dialog-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;top:0!important;right:0!important;border-radius:0!important;background:var(--site-secondary)!important;color:var(--site-primary)!important;transition:background-color .25s}
.vw-vote__dialog .vw-vote__dialog-close:is(:hover,:focus-visible){background:#fff!important}
.vw-vote__dialog .vw-vote__dialog-actions{margin-top:32px!important;gap:24px!important}
.vw-vote__dialog .vw-vote__dialog-choose{position:relative;display:inline-flex;align-items:center;gap:12px;padding:15px 30px!important;border:0!important;border-radius:0!important;background:var(--site-secondary)!important;color:var(--site-primary)!important;font-family:var(--site-font-heading)!important;font-size:18px!important;font-weight:500!important;letter-spacing:.05em;text-transform:uppercase;box-shadow:7px 7px 0 -2px var(--gf-btn-under),7px 7px 0 0 var(--site-secondary)!important;transition:transform .2s,box-shadow .2s,background-color .25s}
.vw-vote__dialog .vw-vote__dialog-choose::after{content:"\2192";font-family:var(--site-font-body)}
.vw-vote__dialog .vw-vote__dialog-choose:is(:hover,:focus-visible){transform:translate(3px,3px);box-shadow:4px 4px 0 -2px var(--gf-btn-under),4px 4px 0 0 var(--site-secondary)!important;background:#fff!important;opacity:1}
.vw-vote__dialog .vw-vote__dialog-chosen{font-family:var(--site-font-heading);font-size:18px;letter-spacing:.05em;text-transform:uppercase;color:var(--site-secondary)}
.vw-vote__dialog .vw-vote__dialog-link{font-family:var(--site-font-heading);font-size:16px!important;font-weight:500!important;letter-spacing:.06em;text-transform:uppercase;color:var(--site-secondary)!important;text-decoration:none!important}
.vw-vote__dialog .vw-vote__dialog-link::after{content:" \2192"}
.vw-vote__dialog .vw-vote__dialog-link:hover{color:#fff!important}
@media (max-width:767px){.vw-vote__dialog>div{padding:28px 22px 30px!important}.vw-vote__dialog .vw-vote__dialog-title{font-size:28px!important}.vw-vote__dialog .vw-vote__dialog-choose{font-size:16px!important;padding:13px 22px!important}}
@media (max-width:992px){.gf-vote-bloc .vw-vote__intro h1{font-size:35px;line-height:42px}}
@media (max-width:767px){
  .gf-vote-bloc .vw-vote__intro h1{font-size:26px;line-height:32px}
  .gf-vote-bloc .vw-vote__intro :is(h2,h3){font-size:28px;margin-top:48px}
  .gf-vote-bloc .vw-vote__intro h4{font-size:18px;line-height:26px}
  .gf-vote-bloc :is(.vw-vote__counter,.vw-vote__step-title){padding-left:12px;padding-right:12px}
  .gf-vote-bloc .vw-vote__counter{font-size:18px!important}
  .gf-vote-bloc .vw-vote__step-title{font-size:22px!important}
  .gf-vote-bloc :is(.vw-vote__start,.vw-vote__submit){font-size:19px!important;padding:14px 20px!important}
  .gf-vote-bloc .vw-vote__grid{gap:16px!important}
  .gf-vote-bloc .vw-vote__name{font-size:18px!important;line-height:24px!important}
  .gf-vote-bloc .vw-vote__panel--start>div:last-child{margin:40px 0 60px}
  .gf-vote-bloc :is(.vw-vote__notice,.vw-vote__panel--draft){margin:36px 12px 18px 0!important;padding:26px 20px!important;font-size:21px!important;line-height:30px}
  .gf-vote-bloc :is(.vw-vote__notice,.vw-vote__panel--draft)::before{inset:10px -10px -10px 10px}
}

@media (prefers-reduced-motion:reduce){
  .timeline-progress .step.step-active .number{animation:none}
  .gf-laureats .vw-card-grid__card:is(:hover,:focus-within) .vw-card-grid__image,
  .gf-vote-bloc .vw-vote__pick:hover,.gf-vote-bloc .vw-vote__pick:hover .vw-vote__photo img{transform:none!important}
  .gf-diapo .vw-slider__dot,.gf-laureats .vw-card-grid__description{transition:none}
}
