.aigfp { --ink:#161643; --indigo:#282883; --pink:#ff0068; --muted:#5a5a75; --line:#e4e4f1; color:var(--ink); font:400 16px/1.6 var(--aigfp-font, Poppins, system-ui, sans-serif); white-space:normal; max-width:1240px; margin:0 auto 3rem; line-height:1.55; }
.aigfp *, .aigfp *::before, .aigfp *::after { box-sizing:border-box; }
.aigfp [hidden] { display:none !important; }
.aigfp .aigfp-hero { position:relative; isolation:isolate; overflow:hidden; border-radius:24px; padding:clamp(1.65rem,6vw,4.4rem); background:radial-gradient(ellipse at 96% 18%,#514cc2,transparent 55%),linear-gradient(135deg,#171759,#31339b); color:#fff; }
.aigfp-hero::after { content:""; position:absolute; z-index:-1; width:500px; height:500px; inset:auto -170px -260px auto; border:1px solid #ffffff40; border-radius:50%; box-shadow:0 0 0 36px #ffffff10,0 0 0 80px #ffffff0c,0 0 0 128px #ffffff08; pointer-events:none; }
.aigfp .aigfp-hero h2 { font:inherit; color:white; font-size:clamp(2rem,5vw,4rem); font-weight:800; line-height:1.06; letter-spacing:-.045em; margin:.55rem 0 .85rem; }
.aigfp .aigfp-hero p { color:#fff; margin:0 0 .8rem; }
.aigfp .aigfp-kicker { font-size:14px; font-weight:800; letter-spacing:.18em; }
.aigfp-kicker span { color:#ff81b6; }
.aigfp-status { display:inline-block; margin-top:.6rem; padding:.3rem .8rem; border-radius:50px; background:#ffffff19; border:1px solid #ffffff59; color:white; font-size:14px; font-weight:700; }
.aigfp .aigfp-controls { margin:1.3rem 0; }
.aigfp-search { padding:1rem 1.2rem; border:1px solid var(--line); border-radius:16px; background:#f7f7fd; }
.aigfp-search label { display:block; font-weight:750; margin-bottom:.45rem; }
.aigfp .aigfp-search input { width:100%; min-height:48px; background:white; color:var(--ink); font:inherit; padding:.65rem .8rem; border:1px solid #bcbcd4; border-radius:10px; }
.aigfp-days { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }
.aigfp .aigfp-days button { position:relative; cursor:pointer; background:#f8f8ff; color:var(--ink); font:inherit; padding:.65rem 1.4rem; border:2px solid #8686b9; box-shadow:0 2px 5px #20206c12; border-radius:12px; transition:background .18s,color .18s,box-shadow .18s; min-width:0; }
.aigfp-days strong,.aigfp-days span { display:block; }
.aigfp-days strong { font-size:1.4rem; line-height:1.2; }
.aigfp-days span { font-size:clamp(14px,2vw,16px); }
.aigfp .aigfp-days button[aria-pressed="false"]:hover { border-color:var(--pink); background:#fff0f6; box-shadow:0 4px 12px #20206c24; }
.aigfp .aigfp-days button[aria-pressed="true"] { color:#fff; background:var(--indigo); border-color:var(--indigo); box-shadow:inset 0 -4px var(--pink); }
.aigfp :focus-visible { outline:3px solid #b70053; outline-offset:3px; }
.aigfp .aigfp-count { margin:.65rem 0 0; color:var(--muted); }
.aigfp .aigfp-count:empty { margin:0; }
.aigfp .aigfp-day h3 { margin:1.4rem 0 1rem; color:var(--indigo); font-size:clamp(1.35rem,3vw,2.1rem); font-weight:800; }
.aigfp-slot { padding:.25rem 0 1.25rem 1rem; margin-left:.2rem; border-left:2px solid var(--line); }
.aigfp .aigfp-time { position:relative; display:inline-block; margin:0 0 .75rem; font-size:16px; color:var(--indigo); font-weight:800; }
.aigfp-time::before { content:""; position:absolute; top:.45em; left:calc(-1rem - 5px); width:8px; height:8px; border-radius:50%; background:var(--pink); }
.aigfp-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:.8rem; align-items:start; }
.aigfp-card { min-width:0; overflow-wrap:anywhere; background:#fff; padding:1rem; border:1px solid var(--line); border-top:3px solid #4545a1; border-radius:12px; box-shadow:0 4px 16px #20206c0a; transition:box-shadow .18s; }
.aigfp-card:hover { box-shadow:0 6px 20px #20206c19; }
.aigfp-card[data-kind="Événement"],.aigfp-card[data-kind="Excursion"] { border-top-color:var(--pink); }
.aigfp-card[data-kind="Pause"] { padding:.65rem .85rem; background:#f8f8fd; border-top-color:#bcbcd4; box-shadow:none; }
.aigfp-meta { display:flex; flex-wrap:wrap; gap:.35rem .6rem; align-items:center; font-size:14px; font-weight:750; color:var(--indigo); }
.aigfp-meta span:first-child { border-radius:50px; padding:.12rem .55rem; background:#ededff; }
.aigfp .aigfp-room { color:#a60049; }
.aigfp .aigfp-card h5 { color:var(--ink); margin:.55rem 0 .25rem; font-size:18px; line-height:1.36; font-weight:780; }
.aigfp .aigfp-team {
    display:grid;
    gap:.15rem;
    margin:.75rem 0;
    padding:.5rem .75rem;
    border-inline-start:3px solid #6c6cbc;
    border-radius:6px;
    background:#f5f5fc;
    line-height:1.45;
}
.aigfp .aigfp-team-label { color:var(--indigo); font-size:14px; font-weight:700; }
.aigfp .aigfp-team-names { color:var(--ink); font-size:16px; font-weight:650; }
.aigfp-card details { border-top:1px solid var(--line); margin-top:.7rem; padding-top:.55rem; }
.aigfp-card summary { cursor:pointer; color:var(--indigo); font-size:15px; font-weight:750; }
.aigfp-card ul { margin:.45rem 0 0; padding:0; list-style:none; }
.aigfp-card li { font-size:16px; padding:.55rem 0; border-bottom:1px solid var(--line); }
.aigfp-card li:last-child { border:0; }
@media(max-width:600px) { .aigfp-days { gap:.35rem; } .aigfp .aigfp-hero { border-radius:16px; } .aigfp-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .aigfp * { transition:none !important; } }

/* The site theme can apply white text to labels and list items globally. */
.aigfp .aigfp-search label,
.aigfp .aigfp-card details,
.aigfp .aigfp-card details ul,
.aigfp .aigfp-card details li {
    color:var(--ink) !important;
    -webkit-text-fill-color:currentColor !important;
}
.aigfp .aigfp-card details summary {
    color:var(--indigo) !important;
    -webkit-text-fill-color:currentColor !important;
}
.aigfp .aigfp-card details:not([open]) > ul { display:none !important; }
.aigfp .aigfp-card details[open] > ul { display:block; }
.aigfp .aigfp-card details li { line-height:1.55; background:transparent; }
.aigfp .aigfp-search input::placeholder { color:var(--muted); opacity:1; }
.aigfp .aigfp-hero h2,
.aigfp .aigfp-day h3,
.aigfp .aigfp-time,
.aigfp .aigfp-card h5,
.aigfp .aigfp-card details,
.aigfp .aigfp-card details li,
.aigfp .aigfp-search label { font-family:inherit; }
.aigfp .aigfp-room { padding:.12rem .55rem; border-radius:50px; background:#fff0f6; }

.aigfp[data-font="theme"] { --aigfp-font:var(--e-global-typography-primary-font-family, var(--wp--preset--font-family--body, system-ui)), sans-serif; }
.aigfp[data-font="inter"] { --aigfp-font:Inter, system-ui, sans-serif; }
.aigfp[data-font="montserrat"] { --aigfp-font:Montserrat, system-ui, sans-serif; }
.aigfp[data-font="open-sans"] { --aigfp-font:"Open Sans", system-ui, sans-serif; }
.aigfp[data-font="system"] { --aigfp-font:system-ui, sans-serif; }

.aigfp .aigfp-card .aigfp-talk {
    display:grid;
    gap:.3rem;
    padding:.65rem 0;
}
.aigfp .aigfp-talk-number {
    justify-self:start;
    padding:.18em .5em;
    border-radius:6px;
    background:#ededff;
    color:var(--indigo) !important;
    font-size:14px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}
.aigfp .aigfp-talk-content { min-width:0; }
.aigfp .aigfp-talk-title {
    display:block;
    color:var(--ink) !important;
    font-weight:550;
}
.aigfp .aigfp-talk-authors {
    display:block;
    margin-top:.3em;
    color:#a60049 !important;
    font-size:15px;
    font-weight:650;
}
.aigfp .aigfp-talk-number,
.aigfp .aigfp-talk-title,
.aigfp .aigfp-talk-authors { -webkit-text-fill-color:currentColor !important; }


/* Keep the selected family when theme rules target headings, lists or forms. */
section.aigfp[data-font],
section.aigfp[data-font] :is(h2, h3, h4, h5, p, label, input, button, strong, span, summary, li, table, th, td, a, b) {
    font-family:var(--aigfp-font, Poppins, system-ui, sans-serif) !important;
}

.aigfp .aigfp-card .aigfp-talk-toggle {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.6rem;
    min-height:44px;
    padding:.55rem .8rem;
    border:1px solid #d6d6f3;
    border-radius:9px;
    background:#ededff;
    list-style:none;
}
.aigfp .aigfp-talk-toggle::-webkit-details-marker { display:none; }
.aigfp .aigfp-card .aigfp-talk-toggle:hover { background:#e2e2fb; border-color:#7c7cc1; }
.aigfp .aigfp-talk-toggle svg { flex:none; }
.aigfp .aigfp-talk-details:not([open]) .aigfp-talk-hide,
.aigfp .aigfp-talk-details[open] .aigfp-talk-show { display:none !important; }
.aigfp .aigfp-talk-details[open] .aigfp-talk-toggle svg { transform:rotate(180deg); }

.aigfp .aigfp-day-arrow { position:absolute; inset-inline-end:.35rem; top:50%; transform:translateY(-50%); color:var(--indigo); }
.aigfp .aigfp-days button[aria-pressed="true"] .aigfp-day-arrow { color:#fff; }
@media(max-width:600px) {
    .aigfp .aigfp-days { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Evenio banner and top spacing on the congress programme page. */
body.page-id-42670.wp-theme-evenio .rs-breadcrumbs,
body.wp-theme-evenio:has(#content .aigfp-dashboard) .rs-breadcrumbs {
    display:none !important;
}
body.page-id-42670.wp-theme-evenio .main-contain #content,
body.wp-theme-evenio .main-contain #content:has(.aigfp-dashboard) {
    padding-top:clamp(16px, 3vw, 32px) !important;
}

.aigfp .aigfp-dashboard-filters { grid-template-columns:repeat(5,minmax(0,1fr)); }
.aigfp .aigfp-dashboard-filters button { padding:.6rem; }
.aigfp-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:1rem 0; }
.aigfp-kpis > div { padding:clamp(.7rem,3vw,1.25rem); background:#f5f5fc; border:1px solid var(--line); border-top:3px solid var(--indigo); border-radius:12px; }
.aigfp-kpis strong,.aigfp-kpis span { display:block; color:var(--ink); }
.aigfp-kpis strong { color:var(--indigo); font-size:clamp(1.65rem,4vw,2.7rem); line-height:1.2; }
.aigfp-kpis span { font-size:clamp(.83rem,2vw,1rem); overflow-wrap:anywhere; }
.aigfp-insights { padding:.85rem 1rem; background:#fff0f6; border-inline-start:4px solid var(--pink); border-radius:8px; }
.aigfp .aigfp-insights p { color:var(--ink); margin:.15rem 0; }
.aigfp-dashboard-panel { margin-top:1rem; padding:clamp(.8rem,3vw,1.4rem); border:1px solid var(--line); border-radius:14px; background:white; }
.aigfp .aigfp-dashboard-panel :is(h3,h4,p,li) { color:var(--ink); }
.aigfp .aigfp-dashboard-panel h3 { margin:0 0 .5rem; font-size:1.45rem; }
.aigfp-chart-legend { display:flex; flex-wrap:wrap; gap:1rem; margin:.4rem 0; }
.aigfp-chart-legend span::before { content:""; display:inline-block; width:.75em; height:.75em; margin-inline-end:.35em; background:var(--indigo); border-radius:2px; }
.aigfp-chart-legend span + span::before { background:#b50050; }
.aigfp .aigfp-chart-row { display:grid; grid-template-columns:minmax(6rem,22%) 1fr; align-items:center; gap:.75rem; width:100%; padding:.65rem; margin:.35rem 0; text-align:start; color:var(--ink); background:#f7f7fd; border:1px solid var(--line); border-radius:8px; cursor:pointer; }
.aigfp .aigfp-chart-row:is(:hover,[aria-pressed="true"]) { border-color:var(--indigo); background:#ededff; }
.aigfp-chart-bars { display:grid; gap:.3rem; }
.aigfp-bar { display:grid; grid-template-columns:minmax(0,1fr) 2.3em; align-items:center; gap:.35em; font-size:.85rem; }
.aigfp-bar > span { display:block; width:var(--aigfp-bar-width); height:.6rem; background:var(--indigo); border-radius:10px; }
.aigfp-bar + .aigfp-bar > span { background:#b50050; }
.aigfp-matrix-scroll { overflow-x:auto; }
.aigfp .aigfp-matrix { border-collapse:collapse; width:100%; margin:0; }
.aigfp .aigfp-matrix :is(th,td) { color:var(--ink); padding:.5rem; border:1px solid var(--line); min-width:7.5rem; }
.aigfp .aigfp-matrix th { background:#ededff; }
.aigfp .aigfp-matrix a { display:block; padding:.3em; color:var(--indigo); text-decoration:underline; text-underline-offset:.18em; }
.aigfp-dashboard-entries { margin-top:.65rem; }
.aigfp .aigfp-dashboard-entries details { padding:.5rem; border-bottom:1px solid var(--line); scroll-margin-top:8rem; }
.aigfp .aigfp-dashboard-entries summary { color:var(--indigo); font-weight:400; cursor:pointer; }
.aigfp .aigfp-dashboard-session { color:#51538a; font-weight:700; }
.aigfp .aigfp-dashboard-title { color:var(--ink); font-weight:400; }
.aigfp .aigfp-dashboard-note { color:var(--muted); margin-top:1rem; font-size:.9rem; }
@media(max-width:600px) {
    .aigfp .aigfp-dashboard-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .aigfp .aigfp-dashboard-filters button:first-child { grid-column:1/-1; }
}

.aigfp .aigfp-excursion-highlight { margin:1rem 0; }
.aigfp .aigfp-excursion-badge {
    justify-self:start;
    padding:.35rem .7rem;
    border-radius:8px;
    background:#fff0f6;
    color:#a60049;
    font-weight:700;
}

.aigfp .aigfp-matrix .aigfp-matrix-time {
    white-space:nowrap;
    font-size:.9rem;
    font-variant-numeric:tabular-nums;
}

.aigfp .aigfp-dashboard-entries .aigfp-entry-toggle {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:.35rem .85rem;
    min-height:44px;
    padding:.5rem .7rem;
    border:1px solid #d6d6f3;
    border-radius:8px;
    background:#f7f7fd;
    list-style:none;
}
.aigfp .aigfp-entry-toggle::-webkit-details-marker { display:none; }
.aigfp .aigfp-entry-heading { flex:1 1 16rem; min-width:0; }
.aigfp .aigfp-entry-action { display:inline-flex; align-items:center; gap:.35rem; color:#454683; font-size:.85rem; font-weight:700; }
.aigfp .aigfp-entry-toggle:hover,
.aigfp .aigfp-dashboard-entries details[open] > .aigfp-entry-toggle { background:#ededff; border-color:#9292c7; }
.aigfp .aigfp-dashboard-entries details:not([open]) .aigfp-talk-hide,
.aigfp .aigfp-dashboard-entries details[open] .aigfp-talk-show { display:none !important; }
.aigfp .aigfp-dashboard-entries details[open] .aigfp-entry-action svg { transform:rotate(180deg); }
