/* IK Programme — rendu « ultime ». Les couleurs et la police viennent des options du composant (variables --ikx-*). */
.ikx{
  --ikx-line:rgba(255,255,255,.16);--ikx-muted:rgba(255,255,255,.72);--ikx-soft:rgba(255,255,255,.1);
  background:var(--ikx-bg);color:var(--ikx-ink);font-family:var(--ikx-font,inherit);overflow-x:clip;position:relative;line-height:1.5
}
/* Le conteneur de requête est posé sur les blocs de contenu, jamais sur la racine : un « container-type » sur la racine
   créerait un bloc conteneur pour la barre collante (position fixed) et l'empêcherait de rester en haut de l'écran. */
.ikx-hero,.ikx-day,.ikl-section,.ikl-tab,.ikc-col{container-type:inline-size}
.ikx h2,.ikx h3,.ikx h4{font-family:var(--ikx-font,inherit);color:var(--ikx-ink)}
.ikx a{color:inherit}
.ikx-vide{padding:60px 20px;text-align:center;margin:0;font-weight:600}

/* Ouverture */
.ikx-hero{position:relative;display:flex;flex-direction:column;justify-content:center;padding:8vh 0 12vh;
  background:radial-gradient(110% 80% at 85% 10%,rgba(255,255,255,.14) 0%,transparent 60%),var(--ikx-bg)}
.ikx-hero-days{display:flex;flex-direction:column;line-height:.9}
.ikx-hero-day{display:block;text-decoration:none!important;font-size:clamp(3.6rem,15cqw,15rem);font-weight:800;letter-spacing:-.03em;white-space:nowrap;
  color:transparent!important;-webkit-text-stroke:2px var(--ikx-ink);transition:color .35s ease,-webkit-text-stroke-color .35s ease}
.ikx-hero-day-1{padding-left:4vw}
.ikx-hero-day-2{align-self:flex-end;padding-right:5vw;-webkit-text-stroke-color:var(--ikx-accent)}
.ikx-hero-day-3{padding-left:10vw;-webkit-text-stroke-color:var(--ikx-vert)}
.ikx-hero-day:hover,.ikx-hero-day:focus-visible{color:var(--ikx-accent)!important;-webkit-text-stroke-color:var(--ikx-accent)}
.ikx-hero-day:focus-visible{outline:none}
.ikx-hero-day:focus-visible span{outline:3px solid var(--ikx-accent);outline-offset:6px}
.ikx-cue{position:absolute;left:50%;bottom:4vh;transform:translateX(-50%);color:var(--ikx-accent)!important;animation:ikx-bob 2.2s ease-in-out infinite}
@keyframes ikx-bob{50%{transform:translate(-50%,8px)}}


/* Jours */
.ikx-day{position:relative;padding:14vh 0 10vh;overflow:hidden}
.ikx-day:nth-of-type(even){background:var(--ikx-bg2)}
.ikx-ghost{position:absolute;top:2vh;left:0;font-size:30cqw;font-weight:800;line-height:.8;white-space:nowrap;letter-spacing:-.03em;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);pointer-events:none;user-select:none}
.ikx-inner{position:relative}
.ikx-day-title{font-size:clamp(2.4rem,7cqw,5.5rem);font-weight:800;letter-spacing:-.02em;line-height:1;margin:0 0 4vh}
.ikx-day-sub{display:block;font-size:clamp(1rem,2vw,1.4rem);font-weight:600;color:var(--ikx-accent);margin-top:10px;letter-spacing:0}
.ikx-half{margin-top:6vh}
.ikx .ikx-half-title{font-size:1rem;font-weight:800;color:var(--ikx-accent);margin:0 0 18px;letter-spacing:.04em;text-transform:uppercase}

/* Ligne du temps */
.ikx-track{position:relative;--ikx-tcol:11.5rem}
.ikx-rail{position:absolute;top:8px;bottom:8px;left:calc(var(--ikx-tcol) + 11px);width:2px;background:var(--ikx-line);overflow:hidden}
.ikx-rail-fill{height:100%;background:linear-gradient(var(--ikx-accent),var(--ikx-vert))}
.ikx:not(.ikx-anim) .ikx-rail-fill{transform:none!important}
.ikx-list{list-style:none;margin:0;padding:0}
.ikx-item{display:grid;grid-template-columns:var(--ikx-tcol) 24px minmax(0,1fr);column-gap:20px;align-items:start}
.ikx-time{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ikx-muted);padding-top:4px}
.ikx-dot{width:12px;height:12px;border-radius:50%;margin:8px 0 0 6px;background:var(--ikx-bg);border:2px solid var(--ikx-muted);position:relative;z-index:1}
.ikx-session{padding:6px 0 44px}
.ikx-session .ikx-time{font-size:1.1rem;color:var(--ikx-ink);padding-top:6px}
.ikx-session .ikx-dot{width:16px;height:16px;margin:9px 0 0 4px;border-color:var(--ikx-accent);background:var(--ikx-accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--ikx-accent) 18%,transparent)}
.ikx-kicker{margin:0 0 4px;color:var(--ikx-accent);font-weight:800;font-size:.95rem;letter-spacing:.02em}
.ikx-title{margin:0;font-size:clamp(1.4rem,3.2cqw,2.5rem);font-weight:800;line-height:1.1;letter-spacing:-.01em;max-width:26ch}
.ikx-lines{list-style:none;margin:16px 0 0;padding:0;max-width:62ch}
.ikx-lines li{position:relative;padding:7px 0 7px 26px;color:var(--ikx-ink);opacity:.92;font-size:1.05rem;border-top:1px solid var(--ikx-line)}
.ikx-lines li::before{content:"";position:absolute;left:0;top:1.05em;width:14px;height:2px;background:var(--ikx-accent)}
.ikx-break{padding:0 0 30px}
.ikx-break .ikx-label{font-weight:700;display:flex;align-items:center;gap:14px;padding-top:4px}
.ikx-break .ikx-label::after{content:"";flex:1;border-top:1px dashed currentColor;opacity:.4}
.ikx-vert .ikx-time,.ikx-vert .ikx-label{color:var(--ikx-vert)}
.ikx-bleu .ikx-time,.ikx-bleu .ikx-label{color:var(--ikx-bleu)}
.ikx-vert .ikx-dot{border-color:var(--ikx-vert)}
.ikx-bleu .ikx-dot{border-color:var(--ikx-bleu)}

@container (max-width:959px){.ikx-track{--ikx-tcol:8.5rem}.ikx-session .ikx-time{font-size:1rem}}
@container (max-width:639px){
  .ikx-rail{left:9px}
  .ikx-item{grid-template-columns:20px minmax(0,1fr);column-gap:14px}
  .ikx-item .ikx-time{grid-column:2;grid-row:1;text-align:left;padding-top:0}
  .ikx-item .ikx-dot{grid-column:1;grid-row:1/span 2;margin-left:2px}
  .ikx-session .ikx-dot{margin-left:0}
  .ikx-item .ikx-body,.ikx-item .ikx-label{grid-column:2}
  .ikx-hero-day{-webkit-text-stroke-width:1.5px}
  .ikx-day{padding:9vh 0 6vh}
  .ikx .uk-subnav-pill>*>a{padding:6px 12px}
}
@media (prefers-reduced-motion:reduce){
  .ikx [uk-parallax]{transform:none!important}
  .ikx-rail-fill{transform:none!important}
  .ikx [class*="uk-animation-"]{animation:none!important}
  .ikx-cue{animation:none}
}
@media print{
  .ikx{background:#fff!important;color:#000!important}
  .ikx-hero,.ikx-nav,.ikx-ghost,.ikx-cue{display:none!important}
  .ikx-day{padding:20px 0;background:#fff!important}
  .ikx h2,.ikx h3,.ikx h4,.ikx-time,.ikx-lines li{color:#000!important}
}

/* ===== Sans fond (option « Fond : aucun ») ===== */
.ikx-nobg{background:transparent;--ikx-line:rgba(127,127,127,.3);--ikx-muted:rgba(127,127,127,.95);--ikx-soft:rgba(127,127,127,.12)}
.ikx-nobg .ikx-day:nth-of-type(even){background:transparent}
.ikx-nobg .ikx-hero{background:transparent}
.ikx-nobg .ikx-ghost{-webkit-text-stroke-color:rgba(127,127,127,.25)}
.ikx-nobg .ikx-dot{background:transparent}
.ikx-nobg .ikx-session .ikx-dot{background:var(--ikx-accent)}
.ikx-nobg .ikx-hero-day{-webkit-text-stroke-color:currentColor}
.ikx-nobg .ikx-hero-day-2{-webkit-text-stroke-color:var(--ikx-accent)}
.ikx-nobg .ikx-hero-day-3{-webkit-text-stroke-color:var(--ikx-vert)}
.ikx-nobg .ikx-lines li{opacity:1}

/* Intervenant sur une ligne de contenu ("Sujet | Intervenant") */
.ikx em,.ikx-speaker{color:inherit}
.ikx-speaker{font-style:italic;opacity:.8;white-space:nowrap}
.ikx-speaker::before{content:"— "}

/* ===== Présentation « Liste continue » ===== */
.ikx-liste{padding:24px 0}
.ikx-liste.ikx-bg{padding:40px 24px}
.ikl-section{padding:8px 0 32px}
.ikl-section+.ikl-section{border-top:3px solid var(--ikx-accent);padding-top:28px}
.ikl-day{font-size:clamp(1.8rem,4cqw,2.6rem);font-weight:800;letter-spacing:-.01em;margin:0 0 10px;line-height:1.1}
.ikl-day small{display:block;font-size:1rem;font-weight:600;color:var(--ikx-accent);margin-top:4px}
.ikx-nobg .ikl-day small,.ikx-nobg .ikl-half,.ikx-nobg .ikl-kicker,.ikx-nobg .ikc-half,.ikx-nobg .ikc-kicker,.ikx-nobg .ikx-half-title,.ikx-nobg .ikx-kicker,.ikx-nobg .ikx-day-sub{color:var(--ikx-accent-nobg,#4b78b5)}
.ikl-half{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ikx-accent);margin:22px 0 6px}
.ikl-list{list-style:none;margin:0;padding:0}
.ikl-row{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:4px 20px;padding:12px 0;border-bottom:1px solid var(--ikx-line);align-items:start}
.ikl-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ikx-muted);padding-top:2px}
.ikl-session .ikl-time{color:inherit}
.ikl-kicker{display:block;font-size:.85rem;font-weight:800;color:var(--ikx-accent);letter-spacing:.02em}
.ikl-title{margin:0;font-size:1.2rem;font-weight:800;line-height:1.25}
.ikl-lines{list-style:none;margin:8px 0 0;padding:0;font-size:.98rem}
.ikl-lines li{padding:3px 0 3px 18px;position:relative;opacity:.9}
.ikl-lines li::before{content:"";position:absolute;left:0;top:.95em;width:10px;height:2px;background:var(--ikx-accent)}
.ikl-break{padding:8px 0}
.ikl-break .ikl-label{font-weight:700}
.ikl-break.ikx-vert .ikl-time,.ikl-break.ikx-vert .ikl-label{color:var(--ikx-vert)}
.ikl-break.ikx-bleu .ikl-time,.ikl-break.ikx-bleu .ikl-label{color:var(--ikx-bleu)}
@container (max-width:639px){.ikl-row{grid-template-columns:1fr;gap:2px}}

/* ===== Présentation « Vue d'ensemble » (colonnes) ===== */
.ikx-colonnes{padding:8px 0}
.ikx-colonnes.ikx-bg{padding:40px 24px}
.ikc-col{border-top:3px solid var(--ikx-accent);padding-top:12px;height:100%}
.ikc-day{font-size:1.6rem;font-weight:800;margin:0 0 4px;line-height:1.1}
.ikc-day small{display:block;font-size:.9rem;font-weight:600;color:var(--ikx-accent);margin-top:2px}
.ikc-half{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ikx-accent);margin:18px 0 4px}
.ikc-list{list-style:none;margin:0;padding:0}
.ikc-row{display:block;padding:10px 0;border-bottom:1px solid var(--ikx-line)}
.ikc-time{display:block;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ikx-muted)}
.ikc-kicker{display:block;font-size:.8rem;font-weight:800;color:var(--ikx-accent)}
.ikc-title{display:block;font-weight:800;line-height:1.25}
.ikc-lines{list-style:none;margin:6px 0 0;padding:0;font-size:.9rem;opacity:.9}
.ikc-lines li{padding:2px 0 2px 14px;position:relative}
.ikc-lines li::before{content:"";position:absolute;left:0;top:.85em;width:8px;height:2px;background:var(--ikx-accent)}
.ikc-break .ikc-label{display:block;font-weight:700}
.ikc-break.ikx-vert .ikc-time,.ikc-break.ikx-vert .ikc-label{color:var(--ikx-vert)}
.ikc-break.ikx-bleu .ikc-time,.ikc-break.ikx-bleu .ikc-label{color:var(--ikx-bleu)}

/* ===== Menu des jours (barre collante / onglets) — indépendant du thème UIkit du site ===== */
.ikx .ikx-nav{
  --ikx-nav-bg-auto:color-mix(in srgb,var(--ikx-bg) 90%,transparent);--ikx-nav-text-auto:var(--ikx-muted);--ikx-nav-active-bg-auto:var(--ikx-accent);--ikx-nav-active-text-auto:var(--ikx-bg);
  --ikx-nav-pad:7px 18px;--ikx-nav-fs:1rem;
  background:var(--ikx-nav-bg,var(--ikx-nav-bg-auto));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--ikx-line);padding:10px 0;z-index:979;position:relative;
  min-height:var(--ikx-nav-h,auto);box-sizing:border-box;display:flex;align-items:center
}
.ikx .ikx-nav>.uk-container,.ikx .ikx-nav>.ikx-nav-list{width:100%}
.ikx-nobg .ikx-nav{--ikx-nav-bg-auto:transparent;--ikx-nav-active-bg-auto:var(--ikx-accent);--ikx-nav-active-text-auto:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.ikx-nobg .ikx-nav.uk-sticky-fixed{--ikx-nav-bg-auto:rgba(255,255,255,.94);box-shadow:0 6px 24px rgba(0,0,0,.08)}
.ikx .ikx-nav.uk-sticky-fixed{top:var(--ikx-nav-top,0)!important;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.ikx .ikx-nav.uk-sticky-fixed:not(.uk-active){z-index:979}
.ikx .ikx-nav-tabs{background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0 0 20px}
.ikx .ikx-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;align-items:center}
.ikx .ikx-nav-list::-webkit-scrollbar{display:none}
.ikx .ikx-nav-list>li{margin:0;padding:0;flex:none}
.ikx .ikx-nav-link,.ikx .ikx-nav-link:hover,.ikx .ikx-nav-link:focus{
  display:inline-flex;align-items:center;font-family:var(--ikx-font,inherit);font-size:var(--ikx-nav-fs);font-weight:700;line-height:1.2;text-transform:none;letter-spacing:0;text-decoration:none;
  color:var(--ikx-nav-text,var(--ikx-nav-text-auto));padding:var(--ikx-nav-pad);border-radius:999px;border:2px solid transparent;white-space:nowrap;transition:background .2s,color .2s,border-color .2s;cursor:pointer
}
.ikx .ikx-nav-link:hover{color:var(--ikx-nav-active-bg,var(--ikx-nav-active-bg-auto))}
.ikx .ikx-nav-link:focus-visible{outline:2px solid var(--ikx-nav-active-bg,var(--ikx-nav-active-bg-auto));outline-offset:2px}
.ikx .ikx-nav-list>.uk-active>.ikx-nav-link,.ikx .ikx-nav-list>.uk-active>.ikx-nav-link:hover{
  background:var(--ikx-nav-active-bg,var(--ikx-nav-active-bg-auto));color:var(--ikx-nav-active-text,var(--ikx-nav-active-text-auto))
}
/* style : souligné */
.ikx .ikx-nav-souligne .ikx-nav-link{border-radius:0;padding-left:4px;padding-right:4px;border-bottom-width:3px;background:transparent!important}
.ikx .ikx-nav-souligne .ikx-nav-list>.uk-active>.ikx-nav-link{color:var(--ikx-nav-active-bg,var(--ikx-nav-active-bg-auto));border-bottom-color:currentColor}
.ikx .ikx-nav-souligne .ikx-nav-list{gap:18px}
/* style : texte seul */
.ikx .ikx-nav-texte .ikx-nav-link{border-radius:0;padding-left:4px;padding-right:4px;background:transparent!important;font-weight:600}
.ikx .ikx-nav-texte .ikx-nav-list>.uk-active>.ikx-nav-link{color:var(--ikx-nav-active-bg,var(--ikx-nav-active-bg-auto));font-weight:800}
.ikx .ikx-nav-texte .ikx-nav-list{gap:22px}
/* style : boutons cadrés */
.ikx .ikx-nav-boutons .ikx-nav-link{border-radius:6px;border-color:var(--ikx-nav-text,var(--ikx-nav-text-auto))}
.ikx .ikx-nav-boutons .ikx-nav-list>.uk-active>.ikx-nav-link{border-color:var(--ikx-nav-active-bg,var(--ikx-nav-active-bg-auto))}
/* alignement */
.ikx .ikx-nav-centre .ikx-nav-list{justify-content:center}
.ikx .ikx-nav-droite .ikx-nav-list{justify-content:flex-end}
.ikx .ikx-nav-justifie .ikx-nav-list>li{flex:1}
.ikx .ikx-nav-justifie .ikx-nav-link{width:100%;justify-content:center}
/* taille */
.ikx .ikx-nav-petite{--ikx-nav-pad:5px 13px;--ikx-nav-fs:.875rem}
.ikx .ikx-nav-grande{--ikx-nav-pad:10px 26px;--ikx-nav-fs:1.2rem;padding:14px 0}
.ikx-liste .ikx-nav:not(.ikx-nav-tabs){margin:0 0 16px}
@container (max-width:639px){.ikx .ikx-nav-justifie .ikx-nav-list>li{flex:none}.ikx .ikx-nav-link{--ikx-nav-pad:6px 12px}}

/* ===== Lisibilité : filigrane et sessions en cartes ===== */
.ikx-filigrane-non .ikx-ghost{display:none}
.ikx-filigrane-discret .ikx-ghost{-webkit-text-stroke-color:rgba(255,255,255,.08);top:auto;bottom:-4vh;left:auto;right:-6vw;font-size:22cqw}
.ikx-nobg.ikx-filigrane-discret .ikx-ghost{-webkit-text-stroke-color:rgba(127,127,127,.12)}
.ikx-cartes .ikx-session .ikx-body{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px 22px 20px;backdrop-filter:blur(2px)}
.ikx-cartes .ikx-session{padding-bottom:28px}
.ikx-nobg.ikx-cartes .ikx-session .ikx-body{background:rgba(127,127,127,.07);border-color:rgba(127,127,127,.18)}
.ikx-cartes .ikx-half-title,.ikx-cartes .ikx-break{position:relative;z-index:1}
