
:root{
  --ink:#283271;        /* navy officiel STLA (extrait du logo) */
  --ink-deep:#1B2354;
  --teal:#0D7377;        /* accent scientifique secondaire */
  --teal-deep:#0A5C5F;
  --gold:#B8935F;        /* accent unique */
  --paper:#FAFAF9;
  --line:rgba(40,50,113,.10);
  --line-strong:rgba(40,50,113,.18);
  --slate:#5B6472;
  --slate-soft:#8890A0;
  --amber:#B8935F; --red:#B4443C; --green:#2E7D5B;
  /* badges disciplines */
  --b-neuro:#283271; --b-cardio:#A6462F; --b-psycho:#6B4C8A; --b-fragilite:#0D7377;
  --b-nutrition:#8A7A1E; --b-geriatrie:#2E7D5B; --b-atelier:#B8935F; --b-ia:#3D5A80; --b-societe:#B4443C;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;} }
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:0;}
.disp{font-family:'Manrope',sans-serif;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;font-size:inherit;}
input,textarea,select{font-family:inherit;font-size:14px;}
[data-page]{display:none;}
[data-page].active{display:block;}
img{max-width:100%;}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--teal);font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.eyebrow::before{content:"";width:16px;height:1px;background:var(--teal);}
.small-note{font-size:11.5px;color:var(--slate-soft);}
.tnum{font-variant-numeric:tabular-nums;}
.hidden{display:none !important;}

/* ---------- STLA arc motif (formes du logo, réemployées graphiquement) ---------- */
.stla-arc{position:relative;}
.stla-arc svg{display:block;width:100%;height:auto;}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(250,250,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.org-mention{background:var(--ink);color:rgba(255,255,255,.78);text-align:center;font-size:11px;padding:6px 12px;}
.org-mention b{color:#fff;font-weight:600;}
.hbar{max-width:1140px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:40px;width:auto;display:block;}
.brandtext{line-height:1.15;}
.brandtext .b1{font-family:'Manrope';font-weight:700;font-size:15px;letter-spacing:-.01em;}
.brandtext .b2{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-soft);}
nav.desktop{display:flex;gap:20px;flex-wrap:wrap;}
nav.desktop button{font-size:12.5px;color:var(--slate);font-weight:600;transition:color .15s;position:relative;padding:4px 0;white-space:nowrap;}
nav.desktop button.active{color:var(--ink);}
nav.desktop button.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--teal);border-radius:2px;}
nav.desktop button:hover{color:var(--ink);}
.hactions{display:flex;align-items:center;gap:10px;}
.lang-btn{font-size:12px;font-weight:600;color:var(--slate);border:1px solid var(--line-strong);border-radius:20px;padding:6px 12px;display:flex;align-items:center;gap:6px;}
.lang-btn:hover{border-color:var(--teal);color:var(--teal);}
.cta-fill{font-size:12.5px;font-weight:700;background:var(--teal);color:#fff;border-radius:20px;padding:9px 18px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.cta-fill:hover{background:var(--teal-deep);}
.cta-outline{font-size:13px;font-weight:600;border:1.5px solid var(--ink);border-radius:20px;padding:9px 18px;display:inline-flex;align-items:center;gap:8px;}
.cta-outline:hover{background:var(--ink);color:#fff;}
.cta-ghost{font-size:12.5px;font-weight:600;border:1.5px solid var(--line-strong);border-radius:20px;padding:9px 18px;display:inline-flex;align-items:center;gap:6px;}
.cta-ghost:hover{border-color:var(--teal);color:var(--teal);}
.burger{display:none;}
#nav-mobile{display:none;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding:14px 24px 20px;}
#nav-mobile button{text-align:left;padding:10px 0;font-size:14px;font-weight:600;border-bottom:1px solid var(--line);}
@media(max-width:980px){ nav.desktop,.hactions .cta-fill{display:none;} .burger{display:block;} }

/* ---------- poster full-bleed hero ---------- */
.poster-hero{position:relative;width:100%;min-height:100vh;min-height:100svh;overflow:hidden;background:var(--ink);}
.poster-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(50px) brightness(.55) saturate(1.1);transform:scale(1.2);}
.poster-fg{position:relative;z-index:2;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:32px 16px;}
.poster-fg img{max-width:100%;max-height:calc(100vh - 64px);max-height:calc(100svh - 64px);width:auto;height:auto;display:block;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.45);}
@media (prefers-reduced-motion: no-preference){ .poster-fg img{animation:poster-in .7s ease-out; } }
@keyframes poster-in{ from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:translateY(0);} }
.dock{background:var(--ink);color:#fff;position:relative;}
.dock::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 0%, rgba(13,115,119,.25), transparent 60%);pointer-events:none;}
.dock-inner{position:relative;max-width:1140px;margin:0 auto;padding:22px 24px 26px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.dock-actions{display:flex;flex-wrap:wrap;gap:10px;}
.dock-btn{font-size:12.5px;font-weight:700;border-radius:22px;padding:11px 18px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.dock-btn.primary{background:var(--gold);color:var(--ink);}
.dock-btn.primary:hover{filter:brightness(1.06);}
.dock-btn.secondary{border:1.5px solid rgba(255,255,255,.35);color:#fff;}
.dock-btn.secondary:hover{border-color:#fff;}
.dock-countdown{display:flex;align-items:center;gap:14px;}
.dock-countdown .cd-item{text-align:center;}
.dock-countdown .n{font-family:'Manrope';font-weight:700;font-size:22px;}
.dock-countdown .l{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.5);}
.dock-countdown .sep{color:rgba(255,255,255,.25);font-size:18px;}

/* ---------- intro / why ---------- */
.intro{padding:64px 0 40px;text-align:center;position:relative;overflow:hidden;}
.intro-neuron{position:absolute;top:-60px;right:-80px;width:420px;max-width:60vw;opacity:.14;pointer-events:none;filter:grayscale(.15);}
.intro h1,.intro p{position:relative;z-index:1;}
.intro h1{font-family:'Manrope';font-weight:700;font-size:clamp(24px,3.4vw,34px);letter-spacing:-.01em;max-width:760px;margin:0 auto 14px;}
.intro p{color:var(--slate);max-width:600px;margin:0 auto;font-size:15px;line-height:1.7;}

/* ---------- 4 pillars ---------- */
.pillars{padding:8px 0 72px;}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media(max-width:900px){.pillars-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.pillars-grid{grid-template-columns:1fr;}}
.pillar-card{background:#fff;padding:28px 24px;transition:.18s;cursor:pointer;}
.pillar-card:hover{background:#F4F6F5;}
.pillar-card .picon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#fff;}
.pillar-card h3{font-family:'Manrope';font-weight:700;font-size:16px;margin-bottom:8px;}
.pillar-card p{font-size:12.8px;color:var(--slate);line-height:1.6;margin-bottom:14px;}
.pillar-card .plink{font-size:11.5px;font-weight:700;color:var(--teal);display:inline-flex;align-items:center;gap:4px;}

/* ---------- section shell ---------- */
.section{padding:64px 0;border-top:1px solid var(--line);}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px;}
.section-head h2{font-family:'Manrope';font-weight:700;font-size:26px;letter-spacing:-.01em;max-width:520px;}
.section-head .link-arrow{font-size:12.5px;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:6px;border-bottom:1.5px solid var(--line-strong);padding-bottom:2px;}
.section-head .link-arrow:hover{border-color:var(--ink);}

/* ---------- highlight sessions (accueil) ---------- */
.hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media(max-width:800px){.hl-grid{grid-template-columns:1fr;}}
.hl-card{background:#fff;padding:26px;}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:20px;color:#fff;}
.hl-card .badge{margin-bottom:12px;}
.hl-card h3{font-family:'Manrope';font-weight:700;font-size:15px;margin-bottom:8px;line-height:1.35;}
.hl-card .who{font-size:12px;color:var(--slate);}

/* ---------- speakers preview / grid ---------- */
.sp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media(max-width:820px){.sp-grid{grid-template-columns:1fr 1fr;}}
.sp-card{background:#fff;padding:24px 18px;text-align:center;}
.avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-family:'Manrope';font-weight:700;font-size:15px;color:#fff;}
.sp-card .name{font-family:'Manrope';font-weight:700;font-size:13.5px;margin-bottom:3px;}
.sp-card .role{font-size:11px;color:var(--teal);margin-bottom:2px;}
.sp-card .inst{font-size:10.5px;color:var(--slate-soft);margin-bottom:6px;line-height:1.4;}
.status-chip{display:inline-block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:20px;}
.status-chip.confirmed{background:#E6F3EC;color:var(--green);}
.status-chip.pending{background:#FBF2E4;color:var(--amber);}
.notice{background:#F4F6F5;border:1px solid var(--line);padding:13px 18px;border-radius:6px;font-size:12.8px;color:var(--slate);margin-bottom:28px;display:flex;gap:10px;align-items:flex-start;}
.notice svg{width:15px;height:15px;color:var(--teal);flex-shrink:0;margin-top:1px;}

/* ---------- programme aperçu / page ---------- */
.filters-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.filter-btn{font-size:12px;font-weight:700;border:1px solid var(--line-strong);border-radius:20px;padding:8px 15px;}
.filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.filter-btn:not(.active):hover{border-color:var(--ink);}
.day-row{display:flex;gap:10px;margin-bottom:14px;}
.day-btn{font-size:13px;font-weight:700;border:1px solid var(--line-strong);border-radius:22px;padding:9px 18px;}
.day-btn.active{background:var(--teal);color:#fff;border-color:var(--teal);}
.search-wrap{position:relative;max-width:320px;margin:0 0 28px;}
.search-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--slate-soft);}
.search-wrap input{width:100%;padding:10px 14px 10px 36px;border:1px solid var(--line-strong);border-radius:22px;background:#fff;}
.search-wrap input:focus{outline:none;border-color:var(--teal);}
.tl{position:relative;padding-left:26px;}
.tl::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:repeating-linear-gradient(to bottom,var(--line-strong) 0 4px,transparent 4px 8px);}
.tl-item{position:relative;padding:16px 0;border-bottom:1px solid var(--line);}
.tl-item::before{content:"";position:absolute;left:-26px;top:20px;width:8px;height:8px;border-radius:50%;background:var(--paper);border:2px solid var(--teal);}
.tl-row{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap;margin-bottom:4px;}
.tl-time{font-family:'Manrope';font-weight:800;font-size:13px;color:var(--teal);min-width:44px;}
.tl-title{flex:1;font-size:13.8px;font-weight:600;min-width:200px;}
.tl-meta{font-size:11.5px;color:var(--slate);padding-left:62px;}
.wk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:14px;}
@media(max-width:760px){.wk-grid{grid-template-columns:1fr 1fr;}}
.wk-card{background:#fff;padding:20px;}
.wk-card .code{font-family:'Manrope';font-weight:800;font-size:10.5px;color:var(--gold);margin-bottom:8px;}
.wk-card h4{font-size:13px;font-weight:700;margin-bottom:6px;line-height:1.35;}
.wk-card p{font-size:11.5px;color:var(--slate);margin-bottom:8px;line-height:1.5;}
.wk-meta{font-size:10.5px;color:var(--slate-soft);display:flex;gap:10px;flex-wrap:wrap;}

/* ---------- submit / soumissions ---------- */
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
@media(max-width:760px){.choice-grid{grid-template-columns:1fr;}}
.choice-card{background:#fff;padding:30px 24px;}
.choice-card .n{font-family:'Manrope';font-weight:300;font-size:12px;color:var(--teal);margin-bottom:8px;}
.choice-card h3{font-family:'Manrope';font-weight:700;font-size:18px;margin-bottom:8px;}
.choice-card p{font-size:12.8px;color:var(--slate);margin-bottom:16px;}
.dates-box{border:1px solid var(--line);padding:20px 22px;margin-bottom:40px;}
.dates-box .row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.8px;}
.dates-box .row:last-child{border-bottom:none;}
.dates-box .row span:last-child{font-weight:700;color:var(--amber);}
details{border:1px solid var(--line);margin-bottom:10px;border-radius:6px;overflow:hidden;}
summary{padding:15px 16px;font-size:13px;font-weight:700;cursor:pointer;background:#fff;}
summary::-webkit-details-marker{display:none;}
details[open] summary{border-bottom:1px solid var(--line);}
.consignes-list{padding:14px 16px;font-size:12.5px;color:var(--slate);line-height:1.85;}
.consignes-list li{margin-left:16px;}
.word-count{font-size:11px;color:var(--slate-soft);text-align:right;margin-top:-10px;margin-bottom:12px;}
.word-count.over{color:var(--red);}
.sub-form{display:none;margin-top:8px;}
.sub-form.active{display:block;}

/* ---------- forms generic ---------- */
.card{border:1px solid var(--line);padding:26px;background:#fff;}
.field-label{font-size:11.5px;font-weight:700;color:var(--ink);margin-bottom:6px;display:block;}
.fi{width:100%;padding:11px 13px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;margin-bottom:15px;}
.fi:focus{outline:none;border-color:var(--teal);}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
@media(max-width:640px){.fgrid2,.fgrid3{grid-template-columns:1fr;}}
.check-row{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--slate);margin-bottom:10px;}
.check-row input{margin-top:2px;}
.submit-btn{background:var(--ink);color:#fff;font-weight:700;font-size:12.5px;padding:14px 22px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em;}
.submit-btn:hover{background:var(--teal-deep);}
.file-drop{border:1.5px dashed var(--line-strong);border-radius:6px;padding:16px;text-align:center;font-size:12px;color:var(--slate-soft);margin-bottom:15px;cursor:pointer;display:block;}
.file-drop:hover{border-color:var(--teal);color:var(--teal);}

/* ---------- inscriptions ---------- */
.step-row{display:flex;gap:8px;margin-bottom:28px;}
.step-pill{font-size:11px;font-weight:700;padding:6px 14px;border-radius:20px;background:var(--line);color:var(--slate-soft);}
.step-pill.active{background:var(--ink);color:#fff;}
.tier-list{border-top:1px solid var(--line-strong);margin-bottom:28px;}
.tier-row{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line);cursor:pointer;}
.tier-row:hover{background:#F4F6F5;}
.tier-row.sel{background:var(--ink);color:#fff;margin:0 -18px;padding-left:22px;padding-right:22px;}
.tier-row .name{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:11px;}
.tier-row .dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--line-strong);flex-shrink:0;}
.tier-row.sel .dot{background:var(--gold);border-color:var(--gold);}
.tier-row .price{font-family:'Manrope';font-weight:800;font-size:14px;}
.opt-block{margin-bottom:28px;}
.opt-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--slate-soft);margin-bottom:10px;}
.opt-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);}
.opt-row label{display:flex;align-items:center;gap:10px;font-size:13px;}
.total-box{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:var(--ink);color:#fff;margin-bottom:22px;border-radius:6px;}
.total-box .l{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);}
.total-box .n{font-family:'Manrope';font-weight:800;font-size:24px;}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-strong);margin-bottom:22px;}
.tab-btn{font-size:12.5px;font-weight:700;padding:10px 16px;border-bottom:2px solid transparent;color:var(--slate);}
.tab-btn.active{color:var(--ink);border-color:var(--teal);}
.tab-pane{display:none;}
.tab-pane.active{display:block;}
.bank-box{background:#F4F6F5;border:1px solid var(--line);border-radius:6px;padding:16px;font-size:12.5px;margin-bottom:16px;line-height:1.85;}
.bank-box .row{display:flex;justify-content:space-between;}
.bank-box .row span:first-child{color:var(--slate-soft);}
.gateway-soon{background:#FBF2E4;border:1px solid rgba(184,147,95,.3);border-radius:6px;padding:14px 16px;font-size:12.5px;color:#7A5E33;margin-bottom:16px;display:flex;gap:9px;align-items:flex-start;}
.confirm-card{max-width:540px;border:1px solid var(--teal);padding:36px 28px;text-align:center;margin:0 auto;}
.confirm-card svg{color:var(--teal);width:32px;height:32px;margin:0 auto 14px;}
.confirm-card h3{font-family:'Manrope';font-weight:700;font-size:18px;margin-bottom:6px;}
.confirm-card p{color:var(--slate);font-size:12.5px;margin-bottom:16px;}
.recap{text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:16px 0;font-size:12.5px;}
.recap .r{display:flex;justify-content:space-between;padding:5px 0;}
.recap .r span:first-child{color:var(--slate-soft);}
#qr-canvas{margin:12px auto;}

/* ---------- partenaires marquee ---------- */
.marquee-wrap{overflow:hidden;position:relative;margin:32px 0;}
.marquee-wrap::before,.marquee-wrap::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;}
.marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--paper),transparent);}
.marquee-wrap::after{right:0;background:linear-gradient(-90deg,var(--paper),transparent);}
.marquee-track{display:flex;gap:16px;width:max-content;animation:scroll-left 38s linear infinite;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
@keyframes scroll-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;flex-wrap:wrap;width:auto;} }
.plogo-card{background:#fff;border:1px solid var(--line);border-radius:8px;height:84px;width:170px;display:flex;align-items:center;justify-content:center;padding:16px;flex-shrink:0;}
.plogo-card img{max-height:100%;max-width:100%;object-fit:contain;}
.logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:36px;}
@media(max-width:760px){.logo-grid{grid-template-columns:repeat(2,1fr);}}
.logo-cell{background:#fff;height:96px;display:flex;align-items:center;justify-content:center;padding:16px;}
.logo-cell img{max-height:100%;max-width:100%;object-fit:contain;}

/* ---------- contact ---------- */
.contact-body{padding:48px 0 88px;display:grid;grid-template-columns:1fr 1fr;gap:56px;}
@media(max-width:800px){.contact-body{grid-template-columns:1fr;}}
.clist{display:flex;flex-direction:column;gap:14px;margin:24px 0 28px;}
.clist .row{display:flex;align-items:center;gap:12px;font-size:14px;}
.clist svg{width:16px;height:16px;color:var(--teal);}
.map-box{height:160px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--slate-soft);font-size:11px;text-transform:uppercase;letter-spacing:.1em;}
textarea.fi{resize:vertical;min-height:110px;}

/* ---------- admin ---------- */
.pagehead{padding:56px 0 36px;border-bottom:1px solid var(--line);}
.pagehead h1{font-family:'Manrope';font-weight:700;font-size:30px;letter-spacing:-.02em;margin-bottom:8px;}
.pagehead p{color:var(--slate);max-width:520px;}
.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-strong);margin-bottom:22px;flex-wrap:wrap;}
.admin-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.admin-filters select{padding:8px 12px;border:1px solid var(--line-strong);border-radius:6px;font-size:12px;}
table{width:100%;border-collapse:collapse;font-size:12px;}
th{text-align:left;padding:9px 11px;background:#F4F6F5;font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:10px;color:var(--slate-soft);border-bottom:1px solid var(--line-strong);}
td{padding:9px 11px;border-bottom:1px solid var(--line);}
.admin-empty{padding:36px;text-align:center;color:var(--slate-soft);font-size:12.5px;}
.status-select{font-size:11px;padding:4px 8px;border:1px solid var(--line-strong);border-radius:14px;}
.config-edit{border:1px solid var(--line);padding:20px;margin-bottom:22px;}

/* ---------- footer ---------- */
footer{background:var(--ink);color:rgba(255,255,255,.55);padding:52px 0 0;}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px;padding-bottom:40px;}
@media(max-width:700px){.f-grid{grid-template-columns:1fr;gap:26px;}}
.f-brand-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.f-logo-plate{background:#fff;border-radius:8px;padding:5px 8px;display:flex;align-items:center;}
.f-logo-plate img{height:26px;width:auto;display:block;}
.f-brand{font-family:'Manrope';font-weight:700;color:#fff;font-size:15px;}
footer h4{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.4);margin-bottom:12px;}
.f-link{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.65);padding:5px 0;text-align:left;}
.f-link:hover{color:#fff;}
.nl-row{display:flex;border:1px solid rgba(255,255,255,.18);border-radius:24px;overflow:hidden;}
.nl-row input{flex:1;background:transparent;border:none;padding:10px 14px;font-size:12px;color:#fff;}
.nl-row input::placeholder{color:rgba(255,255,255,.35);}
.nl-row button{background:var(--teal);color:#fff;font-size:12px;font-weight:700;padding:0 18px;}
.f-bottom{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:16px 0 84px;font-size:10.5px;color:rgba(255,255,255,.3);display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.f-bottom button{color:rgba(255,255,255,.3);}
.f-bottom button:hover{color:#fff;}
@media(min-width:641px){ .f-bottom{padding-bottom:16px;} }

/* ---------- mobile fixed CTA ---------- */
.mobile-cta{display:none;}
@media(max-width:640px){
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--ink);padding:10px 14px;box-shadow:0 -6px 18px rgba(40,50,113,.25);gap:8px;}
  .mobile-cta button{flex:1;font-size:12.5px;font-weight:700;border-radius:22px;padding:12px;}
  .mobile-cta .primary{background:var(--gold);color:var(--ink);}
  .mobile-cta .secondary{border:1.5px solid rgba(255,255,255,.4);color:#fff;}
}

/* === separator === */

:root{--v16-purple:#7b2d96;--v16-navy:#111d4b;--v16-blue:#1f2f70}
html{scroll-padding-top:132px}body{overflow-x:hidden;text-rendering:optimizeLegibility}header{overflow:visible}
.org-mention{min-height:30px;padding:7px 18px;line-height:1.45;white-space:normal}
.hbar{height:126px;max-width:1280px;padding:0 28px;gap:22px;overflow:visible}
.brand{min-width:190px;flex:0 0 190px;justify-content:flex-start;overflow:visible}
.brand img{height:114px!important;width:auto!important;max-width:185px!important;object-fit:contain!important;object-position:left center}
nav.desktop{gap:17px;align-items:center;justify-content:center;flex:1;flex-wrap:nowrap;min-width:0}nav.desktop button{font-size:12px;line-height:1.25;padding:8px 0}.hactions{flex:0 0 auto}.lang-btn{padding:7px 11px}.cta-fill{padding:10px 16px}
h1,h2,h3,h4,.pagehead h1,.section-head h2,.choice-card h3,.wk-card h4,.hl-card h3,.sp-card .name{overflow:visible;white-space:normal;word-break:normal;overflow-wrap:break-word;text-wrap:balance}
.v16-hero{min-height:680px;background:linear-gradient(120deg,var(--v16-navy),var(--v16-blue) 62%,#50216b);display:grid;grid-template-columns:1.15fr .85fr}
.v16-copy{padding:88px 7vw;color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:visible}.v16-kicker{font-size:11px;letter-spacing:.2em;color:#d7a5e5;font-weight:800;margin-bottom:22px}.v16-copy h1{font-family:Georgia,serif;font-size:clamp(46px,5vw,72px);line-height:1.08;font-weight:400;margin:0;padding:.04em 0 .08em;max-width:820px}.v16-date{font-size:18px;font-weight:700;margin:28px 0 8px}.v16-signature{color:#d7dbea;font-size:16px;line-height:1.65;max-width:610px}.v16-actions{display:flex;gap:12px;margin-top:26px}.v16-actions button{padding:14px 21px;border:0;border-radius:4px;background:var(--v16-purple);color:#fff;font-weight:800}.v16-actions .outline{background:transparent;border:1px solid rgba(255,255,255,.55)}.v16-poster{background:#101938;display:flex;align-items:center;justify-content:center;padding:34px}.v16-poster img{max-height:610px;max-width:100%;box-shadow:0 25px 65px rgba(0,0,0,.45)}
.v16-institution{padding:90px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.v16-institution span,.v16-scope>.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--v16-purple);font-weight:800}.v16-institution h2,.v16-scope h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.16;margin:16px 0;padding-bottom:.05em}.v16-institution p{font-size:18px;line-height:1.75;color:#505a77}.v16-scope{padding:85px 7vw;background:#f4f3f7}.v16-disciplines{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#dedee8;border:1px solid #dedee8;margin-top:38px}.v16-disciplines div{background:#fff;min-height:105px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}.v16-disciplines b{font:28px Georgia;color:var(--v16-purple)}.v16-disciplines span{font-size:12px;font-weight:700;color:var(--v16-blue);line-height:1.45;overflow-wrap:anywhere}
.pagehead{padding:64px 0 42px;overflow:visible;background:linear-gradient(120deg,var(--v16-navy),var(--v16-blue));color:#fff}.pagehead h1{font-size:clamp(30px,4vw,46px);line-height:1.14;padding-bottom:.08em;margin-bottom:12px}.pagehead p{line-height:1.7}.pagehead .small-note{color:#d7dbea!important}.section-head h2{font-size:clamp(25px,3vw,34px);line-height:1.22;padding-bottom:.04em}.intro h1{line-height:1.2;padding-bottom:.04em}
.card,.choice-card,.wk-card,.hl-card,.sp-card,.pillar-card{min-width:0;overflow:visible}.tabs,.step-row,.filters-row,.day-row{overflow-x:auto;scrollbar-width:thin;padding-bottom:3px}.tab-btn,.step-pill,.filter-btn,.day-btn{flex:0 0 auto;white-space:nowrap}.fi,textarea.fi,select.fi{min-height:46px;line-height:1.35}.field-label{font-size:12px;line-height:1.45}.check-row{line-height:1.55}.dock-inner{padding-top:25px;padding-bottom:29px}
@media(max-width:1180px){nav.desktop,.hactions .cta-fill{display:none}.burger{display:block}.hbar{height:108px;padding:0 24px}.brand{min-width:170px;flex-basis:170px}.brand img{height:98px!important;width:auto!important;max-width:160px!important}}
@media(max-width:900px){html{scroll-padding-top:126px}.v16-hero{min-height:auto;grid-template-columns:1fr}.v16-poster{display:none}.v16-copy{min-height:610px;padding:78px 7vw 84px}.v16-copy h1{font-size:clamp(42px,8vw,62px);line-height:1.1}.v16-institution{grid-template-columns:1fr;gap:28px}.v16-disciplines{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){html{scroll-padding-top:126px}.org-mention{font-size:9.5px;padding:6px 10px;line-height:1.35}.hbar{height:92px;padding:0 16px}.brand{min-width:126px;flex-basis:126px}.brand img{height:82px!important;width:auto!important;max-width:120px!important}#nav-mobile{max-height:calc(100svh - 120px);overflow-y:auto;padding-left:18px;padding-right:18px}.v16-copy{min-height:560px;padding:62px 22px 72px}.v16-copy h1{font-size:clamp(38px,11.5vw,48px);line-height:1.1}.v16-date{font-size:16px;line-height:1.45;margin-top:24px}.v16-signature{font-size:14px}.v16-actions{flex-direction:column}.v16-actions button{width:100%;min-height:48px}.wrap{padding-left:18px;padding-right:18px}.pagehead{padding:46px 0 32px}.pagehead h1{font-size:32px;line-height:1.18}.section{padding:50px 0}.section-head{align-items:flex-start;margin-bottom:24px}.section-head h2{font-size:27px}.card{padding:20px 17px}.choice-card,.pillar-card,.hl-card{padding:23px 18px}.v16-disciplines{grid-template-columns:1fr 1fr}.v16-institution,.v16-scope{padding:65px 7vw}.step-row{margin-right:-18px;padding-right:18px}.tier-row.sel{margin-left:-10px;margin-right:-10px;padding-left:14px;padding-right:14px}.dates-box .row,.bank-box .row,.recap .r{gap:14px;align-items:flex-start}.dates-box .row span:last-child,.bank-box .row span:last-child,.recap .r span:last-child{text-align:right}.dock-countdown{width:100%;justify-content:center}.dock-actions{width:100%}.dock-btn{justify-content:center;flex:1 1 150px}}
@media(max-width:380px){.brand{min-width:112px;flex-basis:112px}.brand img{height:75px!important;width:auto!important;max-width:108px!important}.v16-copy h1{font-size:36px}.v16-disciplines{grid-template-columns:1fr}}

/* === separator === */

:root{
  --v18-blue:#36579B;
  --v18-blue-deep:#29457F;
  --v18-purple:#6F3A8D;
  --v18-purple-soft:#8A5AA5;
  --v18-gold:#B8935F;
  --v18-lilac:#F6F1F8;
}
body{background:#fff;}
.hbar{height:96px!important;}
.brand{min-width:118px!important;flex-basis:118px!important;}
.brand img{height:78px!important;max-width:118px!important;}
.lang-btn{border-color:rgba(111,58,141,.25);color:var(--v18-purple);padding:8px 12px;}
.lang-btn svg{width:18px!important;height:18px!important;color:var(--v18-purple);}
.burger{color:var(--v18-purple);}
.burger svg{width:26px!important;height:26px!important;}
.cta-fill{background:var(--v18-purple);}
.cta-fill:hover{background:#5B2E76;}
nav.desktop button.active::after{background:var(--v18-purple);}
nav.desktop button:hover,nav.desktop button.active{color:var(--v18-purple);}
.pagehead{
  background:linear-gradient(118deg,var(--v18-blue),var(--v18-purple))!important;
}
.pagehead p,.pagehead .small-note{color:rgba(255,255,255,.88)!important;}
.pagehead .eyebrow{color:#fff!important;}
.pagehead .eyebrow::before{background:var(--v18-gold)!important;}
.v18-official-poster{background:#fff;border-bottom:1px solid var(--line);}
.v18-poster-shell{max-width:1180px;margin:0 auto;padding:30px 24px 26px;display:flex;justify-content:center;}
.v18-poster-shell img{display:block;width:auto;max-width:100%;max-height:calc(100svh - 150px);object-fit:contain;box-shadow:0 18px 55px rgba(40,35,70,.10);}
.v18-member-block{background:var(--v18-lilac);border:1px solid rgba(111,58,141,.16);border-radius:9px;padding:18px;}
.v18-deadlines{font-size:11.5px;line-height:1.6;color:#5f5870;margin-top:10px;}
.v18-payment-title{display:flex;align-items:center;gap:10px;color:var(--v18-purple);font-weight:800;margin:4px 0 16px;}
.v18-payment-title svg{width:22px;height:22px;}
.v18-preinfo{background:#F6F1F8;border-color:rgba(111,58,141,.18);color:#5B2E76;}
.bank-box{border-left:4px solid var(--v18-purple);background:#FAF8FB;}
.v18-institutions{margin-bottom:36px;}
.v18-inst-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.v18-inst-card{min-height:100px;border:1px solid rgba(111,58,141,.15);background:#fff;border-radius:10px;padding:18px;display:flex;align-items:center;justify-content:center;text-align:center;gap:9px;color:var(--v18-blue-deep);}
.v18-inst-card svg{width:22px;height:22px;color:var(--v18-purple);flex:0 0 auto;}
.v18-siteqr{margin-top:22px;padding:16px;border:1px solid rgba(111,58,141,.15);border-radius:10px;display:flex;align-items:center;gap:16px;background:#fff;}
#site-qr-code{display:block;width:116px;height:116px;flex:0 0 116px;}
.req-label::after{content:" *";color:var(--red);}
.sp-card .name{line-height:1.35;}
.sp-card .role{line-height:1.5;}
@media(max-width:900px){
  .v18-inst-grid{grid-template-columns:1fr 1fr;}
  .v18-poster-shell{padding:18px 16px 16px;}
  .v18-poster-shell img{max-height:none;width:100%;height:auto;box-shadow:none;}
}
@media(max-width:640px){
  html{scroll-padding-top:105px!important;}
  .org-mention{font-size:9px!important;line-height:1.3;padding:5px 8px!important;}
  .hbar{height:78px!important;padding:0 14px!important;}
  .brand{min-width:86px!important;flex-basis:86px!important;}
  .brand img{height:64px!important;max-width:88px!important;}
  .lang-btn{padding:7px 9px;font-size:11px;}
  .lang-btn svg{width:17px!important;height:17px!important;}
  .burger svg{width:25px!important;height:25px!important;}
  .wrap{padding-left:16px!important;padding-right:16px!important;}
  .pagehead{padding:36px 0 28px!important;}
  .pagehead h1{font-size:28px!important;}
  .section{padding:42px 0!important;}
  .card{padding:18px 15px!important;border-radius:10px;}
  .fgrid2,.fgrid3{grid-template-columns:1fr!important;gap:0!important;}
  .fi{min-height:50px!important;font-size:16px!important;}
  .field-label{font-size:12.5px!important;}
  .tier-row{padding:15px 8px!important;}
  .tier-row.sel{margin:0!important;padding-left:12px!important;padding-right:12px!important;border-radius:8px;}
  .opt-row{align-items:flex-start;gap:12px;}
  .opt-row label{line-height:1.45;}
  .v18-member-block{padding:15px 13px;}
  .total-box{position:sticky;bottom:68px;z-index:25;box-shadow:0 8px 24px rgba(34,31,59,.16);}
  .v18-inst-grid{grid-template-columns:1fr;}
  .v18-inst-card{min-height:74px;justify-content:flex-start;text-align:left;}
  .contact-body{padding-top:28px!important;gap:28px!important;}
  .v18-siteqr{flex-direction:column;text-align:center;}
  .mobile-cta{background:var(--v18-blue-deep)!important;}
  .mobile-cta .primary{background:var(--v18-purple)!important;color:#fff!important;}
  .sp-grid{grid-template-columns:1fr!important;}
  .sp-card{padding:22px 18px!important;}
}

/* === separator === */

/* V40 — Affiche officielle CNAT 2026 : jamais recadrée, jamais tronquée */
.v18-official-poster{
  background:#fff;
  padding:24px 20px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.v18-poster-shell{
  width:100%;
  max-width:820px;
  margin:0 auto;
  padding:0;
  display:flex;
  justify-content:center;
  background:transparent;
  position:relative;
}
.v18-poster-shell img{
  width:100%;
  height:auto;
  max-width:100%;
  max-height:none;
  display:block;
  object-fit:contain;
  object-position:center;
  box-shadow:0 18px 55px rgba(40,35,70,.10);
  border-radius:6px;
}

/* V40 — Tutelle Ministère + CTA inscription sous l'affiche */
.v40-poster-actions{
  width:100%;
  max-width:820px;
  margin:22px auto 8px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:16px;
}
.v40-tutelle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:'Manrope',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  background:#F6F1F8;
  border:1px solid rgba(111,58,141,.18);
  border-radius:999px;
  padding:11px 22px;
  text-align:center;
  align-self:center;
  max-width:100%;
  line-height:1.3;
}
.v40-cta-inscription{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:56px;
  padding:14px 24px;
  background:var(--ink);
  color:#fff;
  border:none;
  border-radius:14px;
  font-family:'Manrope',sans-serif;
  font-size:15px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .18s ease, background-color .18s ease, box-shadow .18s ease;
  box-shadow:0 10px 28px rgba(40,50,113,.22);
}
.v40-cta-inscription:hover,
.v40-cta-inscription:focus-visible{
  background:var(--ink-deep);
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(40,50,113,.28);
}
.v40-cta-inscription:active{ transform:translateY(0); }

@media(max-width:640px){
  .v18-official-poster{ padding:16px 12px 8px; }
  .v18-poster-shell img{ box-shadow:0 10px 30px rgba(40,35,70,.10); }
  .v40-poster-actions{ margin:18px auto 4px; gap:14px; }
  .v40-tutelle{
    font-size:10.5px;
    letter-spacing:.10em;
    padding:10px 16px;
  }
  .v40-cta-inscription{
    min-height:54px;
    font-size:14px;
    letter-spacing:.05em;
    border-radius:12px;
  }
}
@media(max-width:380px){
  .v40-tutelle{ font-size:10px; padding:9px 12px; }
  .v40-cta-inscription{ font-size:13px; padding:12px 16px; }
}

/* === separator === */

main[data-page="partenaires"] .pagehead .wrap{
  padding-left:48px!important;
  padding-right:48px!important;
}
main[data-page="partenaires"] .pagehead h1,
main[data-page="partenaires"] .pagehead .eyebrow{
  margin-left:0!important;
  padding-left:0!important;
}
.v18-institutions{overflow:hidden;}
.v18-inst-grid,
.logo-grid{
  display:flex!important;
  gap:16px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:6px 2px 16px!important;
}
.v18-inst-grid::-webkit-scrollbar,
.logo-grid::-webkit-scrollbar{display:none;}
.v18-inst-card,
.logo-card{
  flex:0 0 260px!important;
  min-width:260px!important;
  scroll-snap-align:start;
}
.v18-inst-card{
  justify-content:flex-start!important;
  text-align:left!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.v18-inst-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 28px rgba(55,47,76,.08);
  border-color:rgba(111,58,141,.28);
}
@media(max-width:640px){
  main[data-page="partenaires"] .pagehead .wrap{
    padding-left:24px!important;
    padding-right:24px!important;
  }
  main[data-page="partenaires"] .pagehead{
    padding-top:40px!important;
    padding-bottom:34px!important;
  }
  main[data-page="partenaires"] .pagehead h1{
    font-size:36px!important;
    line-height:1.05!important;
    margin-top:8px!important;
  }
  main[data-page="partenaires"] .pagehead p{
    font-size:15px!important;
    line-height:1.5!important;
  }
  .v18-inst-card,
  .logo-card{
    flex-basis:82vw!important;
    min-width:82vw!important;
  }
}

/* === separator === */

.sp-card.has-medallion{
  padding:18px 14px 22px!important;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.speaker-medallion{
  display:block;
  width:100%;
  max-width:320px;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  margin:0 auto 12px;
}
.sp-card.has-medallion .role{
  max-width:330px;
  margin:0 auto 6px;
}
.sp-card.has-medallion .inst{
  margin-bottom:8px;
}
@media(max-width:820px){
  .speaker-medallion{max-width:360px;}
}
@media(max-width:640px){
  .sp-card.has-medallion{padding:16px 12px 22px!important;}
  .speaker-medallion{width:min(100%,390px);max-width:390px;}
}

/* === separator === */

.speaker-reveal-note{max-width:900px;margin:30px auto 10px;padding:22px 24px;text-align:center;background:#faf8fd;border:1px solid rgba(83,45,145,.16);border-radius:18px;color:#392466;font-size:1.05rem;line-height:1.6}
.speaker-reveal-note strong{color:#532d91}
@media(max-width:640px){.speaker-reveal-note{margin:22px 14px 8px;padding:18px 16px;font-size:.98rem}}

/* === separator === */

.sp-card.has-medallion{
  position:relative;
  padding:18px 14px 20px!important;
  border-radius:22px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.sp-card.has-medallion:hover{transform:translateY(-2px);}
.speaker-medallion{
  margin:0 auto 18px!important; /* more breathing room under the validated medallion */
}
.profile-toggle{
  appearance:none;
  border:1px solid rgba(83,45,145,.18);
  background:#faf8fd;
  color:#532d91;
  border-radius:999px;
  padding:9px 14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size:.9rem;
  cursor:pointer;
  margin:2px auto 0;
}
.profile-toggle:hover{background:#f3eef9;}
.profile-chevron{font-size:1rem;line-height:1}
.speaker-profile{
  width:100%;
  max-width:340px;
  margin:14px auto 0;
  padding:14px 16px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(83,45,145,.12);
  text-align:left;
  box-shadow:0 8px 22px rgba(31,20,56,.06);
}
.profile-role{
  color:#27314a;
  font-size:.94rem;
  line-height:1.5;
  font-weight:600;
}
.profile-country{
  margin-top:7px;
  color:#6a6f7a;
  font-size:.88rem;
}
.sp-card.has-medallion > .role,
.sp-card.has-medallion > .inst,
.sp-card.has-medallion > .status-chip{display:none!important;}

.featured-speaker{
  box-shadow:0 12px 34px rgba(164,126,49,.16);
  border:1px solid rgba(183,145,82,.34)!important;
}
.featured-speaker::before{
  content:"À l’honneur";
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  background:#fff8e8;
  color:#8b6b28;
  border:1px solid rgba(183,145,82,.42);
  border-radius:999px;
  padding:6px 10px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
}
@media(max-width:640px){
  .speaker-medallion{margin-bottom:16px!important;}
  .profile-toggle{font-size:.86rem;padding:8px 12px}
  .speaker-profile{font-size:.92rem}
}

/* === separator === */

/* Plus d'air dans les grands blocs-titres */
.page-hero,
.section-hero,
.hero-panel,
.inscriptions-hero,
.programme-hero,
.speakers-hero,
.abstracts-hero,
.partners-hero,
.contact-hero {
  box-sizing:border-box!important;
  padding:58px 54px 52px!important;
}

/* Sécurise les composants génériques utilisés sur plusieurs pages */
main:not([data-page="accueil"]) .hero,
main:not([data-page="accueil"]) .panel-hero,
main:not([data-page="accueil"]) .section-head {
  box-sizing:border-box!important;
  padding-left:54px!important;
  padding-right:54px!important;
}

main:not([data-page="accueil"]) h1,
main:not([data-page="accueil"]) .eyebrow,
main:not([data-page="accueil"]) .lead,
main:not([data-page="accueil"]) .subtitle {
  max-width:100%!important;
}

@media(max-width:760px){
  .page-hero,
  .section-hero,
  .hero-panel,
  .inscriptions-hero,
  .programme-hero,
  .speakers-hero,
  .abstracts-hero,
  .partners-hero,
  .contact-hero {
    padding:34px 24px 30px!important;
  }
  main:not([data-page="accueil"]) .hero,
  main:not([data-page="accueil"]) .panel-hero,
  main:not([data-page="accueil"]) .section-head {
    padding-left:24px!important;
    padding-right:24px!important;
  }
}

@media(max-width:420px){
  .page-hero,
  .section-hero,
  .hero-panel,
  .inscriptions-hero,
  .programme-hero,
  .speakers-hero,
  .abstracts-hero,
  .partners-hero,
  .contact-hero {
    padding:28px 18px 26px!important;
  }
}

/* === separator === */

.logo-cell,.plogo-card{
  background:#fff!important;
}
.logo-cell img,.plogo-card img{
  object-fit:contain!important;
  object-position:center!important;
  max-width:88%!important;
  max-height:72px!important;
  width:auto!important;
  height:auto!important;
  filter:none!important;
  transform:none!important;
}
@media(max-width:640px){
  .logo-cell img,.plogo-card img{max-width:84%!important;max-height:60px!important;}
}

/* === separator === */

/* Chedia: no 'À l’honneur' badge */
.sp-card:not(.featured-speaker)::before{display:none!important;}

/* PARTNERS — sharp, aligned, dynamic, responsive */
.partners-strip,
.logo-strip,
.partners-row,
.partners-grid,
#partnersGrid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
.logo-cell,
.plogo-card,
.partner-card{
  min-height:130px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px 22px!important;
  background:#fff!important;
  border:1px solid rgba(83,45,145,.10)!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(39,28,66,.06)!important;
  overflow:hidden!important;
  transition:transform .22s ease, box-shadow .22s ease!important;
}
.logo-cell:hover,
.plogo-card:hover,
.partner-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 14px 30px rgba(83,45,145,.12)!important;
}
.logo-cell img,
.plogo-card img,
.partner-card img{
  display:block!important;
  width:100%!important;
  height:84px!important;
  max-width:100%!important;
  max-height:84px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  filter:none!important;
  transform:none!important;
  background:transparent!important;
}

/* Mobile: clean single/two column rhythm */
@media(max-width:760px){
  .partners-strip,
  .logo-strip,
  .partners-row,
  .partners-grid,
  #partnersGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .logo-cell,
  .plogo-card,
  .partner-card{
    min-height:108px!important;
    padding:14px!important;
  }
  .logo-cell img,
  .plogo-card img,
  .partner-card img{
    height:66px!important;
    max-height:66px!important;
  }
}
@media(max-width:420px){
  .partners-strip,
  .logo-strip,
  .partners-row,
  .partners-grid,
  #partnersGrid{
    grid-template-columns:1fr!important;
  }
}

/* Optional subtle motion for partner logos without altering artwork */
@keyframes partnerFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
.logo-cell img,
.plogo-card img,
.partner-card img{
  animation:partnerFloat 5s ease-in-out infinite;
}

/* === separator === */

/* Zone partenaires premium et dynamique */
.partner-dynamic-shell{
  position:relative;
  overflow:hidden;
  width:100%;
  background:#fff;
  padding:18px 0 22px;
  margin:10px 0 22px;
}
.partner-dynamic-shell::before,
.partner-dynamic-shell::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:64px;
  z-index:3;
  pointer-events:none;
}
.partner-dynamic-shell::before{
  left:0;
  background:linear-gradient(90deg,#fff 20%,rgba(255,255,255,0));
}
.partner-dynamic-shell::after{
  right:0;
  background:linear-gradient(270deg,#fff 20%,rgba(255,255,255,0));
}
.partner-track{
  display:flex!important;
  align-items:center!important;
  gap:26px!important;
  width:max-content!important;
  animation:partnersScroll 26s linear infinite;
  will-change:transform;
}
.partner-dynamic-shell:hover .partner-track{
  animation-play-state:paused;
}
.partner-track .logo-cell,
.partner-track .plogo-card,
.partner-track .partner-card,
.partner-track > a,
.partner-track > div{
  flex:0 0 210px!important;
  width:210px!important;
  min-width:210px!important;
  height:118px!important;
  min-height:118px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:16px 18px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid rgba(83,45,145,.10)!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(40,25,70,.06)!important;
  overflow:hidden!important;
}
.partner-track img{
  display:block!important;
  max-width:90%!important;
  max-height:76px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
  animation:none!important;
}
@keyframes partnersScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* Mobile : défilement tactile manuel, pas d'animation forcée */
@media(max-width:760px){
  .partner-dynamic-shell{
    overflow-x:auto;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:14px 10px 18px;
  }
  .partner-dynamic-shell::-webkit-scrollbar{display:none}
  .partner-dynamic-shell::before,
  .partner-dynamic-shell::after{display:none}
  .partner-track{
    animation:v38Partners 55s linear infinite!important;
    gap:14px!important;
    padding:0 4px;
  }
  .partner-track .logo-cell,
  .partner-track .plogo-card,
  .partner-track .partner-card,
  .partner-track > a,
  .partner-track > div{
    flex:0 0 178px!important;
    width:178px!important;
    min-width:178px!important;
    height:104px!important;
    min-height:104px!important;
    scroll-snap-align:center;
    padding:12px 14px!important;
  }
  .partner-track img{
    max-height:64px!important;
  }
}

/* Respect accessibilité */
@media(prefers-reduced-motion:reduce){
  .partner-track{animation:none!important}
}

/* === separator === */

/* Page partenaires */
#logo-grid.partner-carousel{
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  width:100%!important;
  padding:22px 0 26px!important;
  margin:22px 0 38px!important;
  background:#fff!important;
}
#logo-grid.partner-carousel::before,
#logo-grid.partner-carousel::after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:72px;
  z-index:4;
  pointer-events:none;
}
#logo-grid.partner-carousel::before{
  left:0;
  background:linear-gradient(90deg,#fff 25%,rgba(255,255,255,0));
}
#logo-grid.partner-carousel::after{
  right:0;
  background:linear-gradient(270deg,#fff 25%,rgba(255,255,255,0));
}
.partner-carousel-track{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  width:max-content!important;
  animation:v38Partners 30s linear infinite!important;
  will-change:transform;
}
#logo-grid.partner-carousel:hover .partner-carousel-track{
  animation-play-state:paused!important;
}
.partner-logo-card{
  flex:0 0 220px!important;
  width:220px!important;
  height:124px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px 20px!important;
  background:#fff!important;
  border:1px solid rgba(83,45,145,.12)!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(40,25,70,.07)!important;
  overflow:hidden!important;
  text-decoration:none!important;
}
.partner-logo-card img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:90%!important;
  max-height:78px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
  animation:none!important;
  image-rendering:auto!important;
}
/* Ajustement visuel — pondération harmonisée des logos partenaires (V39) */
.partner-abbott img,
.partner-card[data-slug="abbott"] img{max-width:78%!important;max-height:60px!important;}
.partner-tunis-re img,
.partner-card[data-slug="tunis-re"] img{max-width:88%!important;max-height:72px!important;}
.partner-laboratoires-teriak img,
.partner-card[data-slug="laboratoires-teriak"] img{max-width:82%!important;max-height:82px!important;}
.partner-afa-center img,
.partner-card[data-slug="afa-center"] img{max-width:86%!important;max-height:74px!important;}
.partner-bh-assurance img,
.partner-card[data-slug="bh-assurance"] img{max-width:94%!important;max-height:80px!important;}
@keyframes v38Partners{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* Accueil : le marquee existant utilise les mêmes cartes */
#marquee-track{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  width:max-content!important;
}
#marquee-track .partner-logo-card{
  flex-basis:200px!important;
  width:200px!important;
  height:108px!important;
}

/* Téléphone : défilement tactile manuel */
@media(max-width:760px){
  #logo-grid.partner-carousel{
    overflow:hidden!important;
    padding:14px 0 18px!important;
  }
  #logo-grid.partner-carousel::-webkit-scrollbar{display:none}
  #logo-grid.partner-carousel::before,
  #logo-grid.partner-carousel::after{display:none!important}
  .partner-carousel-track{
    animation:v38Partners 55s linear infinite!important;
    gap:14px!important;
  }
  .partner-logo-card{
    flex:0 0 176px!important;
    width:176px!important;
    height:104px!important;
    padding:12px 14px!important;
    scroll-snap-align:center;
  }
  .partner-logo-card img{max-height:66px!important;}
}
@media(prefers-reduced-motion:reduce){
  .partner-carousel-track{animation:none!important}
}

/* === V40.1 — Partenaires institutionnels : carrousel dynamique + vrais logos === */
.v40-inst-carousel{
  position:relative;
  overflow:hidden;
  width:100%;
  margin:18px 0 40px;
  padding:6px 0 12px;
  background:#fff;
}
.v40-inst-carousel::before,
.v40-inst-carousel::after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:60px;
  z-index:4;
  pointer-events:none;
}
.v40-inst-carousel::before{
  left:0;
  background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0));
}
.v40-inst-carousel::after{
  right:0;
  background:linear-gradient(270deg,#fff 30%,rgba(255,255,255,0));
}
.v40-inst-track{
  display:flex;
  align-items:stretch;
  gap:20px;
  width:max-content;
  animation:v38Partners 55s linear infinite;
  will-change:transform;
}
.v40-inst-carousel:hover .v40-inst-track{
  animation-play-state:paused;
}
.v40-inst-card{
  flex:0 0 240px;
  width:240px;
  min-height:170px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:20px 18px 18px;
  background:#fff;
  border:1px solid rgba(83,45,145,.12);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(40,25,70,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.v40-inst-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(40,25,70,.10);
  border-color:rgba(111,58,141,.22);
}
.v40-inst-card img{
  display:block;
  max-width:100%;
  max-height:92px;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center;
  flex:1 1 auto;
}
.v40-inst-card span{
  font-family:'Manrope', sans-serif;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  text-align:center;
  color:var(--v18-blue-deep, #1F2E5A);
  letter-spacing:.02em;
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:640px){
  .v40-inst-track{ gap:14px; animation-duration:45s; }
  .v40-inst-carousel::before,
  .v40-inst-carousel::after{ width:36px; }
  .v40-inst-card{
    flex:0 0 190px;
    width:190px;
    min-height:150px;
    padding:16px 14px;
  }
  .v40-inst-card img{ max-height:78px; }
  .v40-inst-card span{ font-size:11px; min-height:28px; }
}

/* === V40.2 — Prise en charge par un tiers (Médecin/Résident) === */
.v402-tp-block{
  margin:24px 0 20px;
  padding:22px 22px 18px;
  background:linear-gradient(180deg,#faf7fd 0%,#fff 100%);
  border:1px solid rgba(111,58,141,.18);
  border-radius:14px;
  box-shadow:0 4px 14px rgba(83,45,145,.06);
}
.v402-tp-title{
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#6D3A8D;
  margin-bottom:12px;
}
.v402-tp-question{
  font-family:'Manrope',sans-serif;
  font-size:15px;
  font-weight:700;
  color:#1F2E5A;
  line-height:1.5;
  margin-bottom:14px;
}
.v402-tp-radios{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.v402-tp-radio{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 14px;
  background:#fff;
  border:1px solid rgba(111,58,141,.14);
  border-radius:10px;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease;
  font-family:'Manrope',sans-serif;
  font-size:14px;
  color:#1F2E5A;
  line-height:1.45;
}
.v402-tp-radio:hover{
  border-color:rgba(111,58,141,.35);
  background:#fdfaff;
}
.v402-tp-radio input[type="radio"]{
  margin-top:3px;
  accent-color:#6D3A8D;
  flex-shrink:0;
}
.v402-tp-fields{
  margin-top:16px;
  padding-top:16px;
  border-top:1px dashed rgba(111,58,141,.22);
}
.v402-tp-opt{
  font-weight:500;
  color:#8B7B9E;
  font-size:12px;
  margin-left:4px;
}
.v402-tp-notice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:12px;
  padding:12px 14px;
  background:#fff8e6;
  border-left:3px solid #E4A83A;
  border-radius:6px;
  font-family:'Manrope',sans-serif;
  font-size:12.5px;
  color:#6B4C0F;
  line-height:1.5;
}
.v402-tp-notice i{
  width:16px;height:16px;
  color:#E4A83A;
  flex-shrink:0;
  margin-top:2px;
}
@media(max-width:640px){
  .v402-tp-block{ padding:18px 16px 14px; }
  .v402-tp-question{ font-size:14px; }
  .v402-tp-radio{ font-size:13px; padding:10px 12px; }
}

/* Cache automatique du RIB dans le récap si prise en charge tiers */
#recap-block.tp-yes .r-bank-hint{ display:none; }

/* === V40.3 — Corrections ciblées === */

/* §14 — Retrait du badge "À l'honneur" du Pr Imed Ben Ghorbel */
.featured-speaker::before{ display:none !important; content:"" !important; }
.featured-speaker{ box-shadow:none !important; border:none !important; }

/* §6-7 — Groupes d'ateliers par jour */
.ws-day-group{
  margin:14px 0 6px;
  padding:14px 16px;
  background:#faf6fd;
  border:1px solid rgba(111,58,141,.12);
  border-radius:12px;
}
.ws-day-group + .ws-day-group{ margin-top:12px; }
.ws-day-label{
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#6D3A8D;
  margin-bottom:10px;
}
.ws-day-group .opt-row{
  background:#fff;
  border:1px solid rgba(111,58,141,.10);
  border-radius:10px;
  padding:12px 14px;
  margin-bottom:8px;
  transition:border-color .2s ease, background .2s ease;
}
.ws-day-group .opt-row:hover{
  border-color:rgba(111,58,141,.28);
  background:#fdfaff;
}
.ws-day-group .opt-row:last-child{ margin-bottom:0; }
.ws-day-group .opt-row label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
  font-family:'Manrope',sans-serif;
  font-size:14px;
  color:#1F2E5A;
  line-height:1.45;
}
.ws-day-group .opt-row input[type="checkbox"]{
  margin-top:3px;
  accent-color:#6D3A8D;
  flex-shrink:0;
}
.ws-day-group .opt-row .disp{
  color:#6D3A8D;
  white-space:nowrap;
}
.ws-animator{
  display:inline-block;
  margin-top:4px;
  font-style:normal;
  font-weight:600;
  color:#6D3A8D;
  font-size:12.5px;
}
.ws-help-note{
  margin:14px 0 6px;
  padding:12px 14px;
  background:#fff8e6;
  border-left:3px solid #E4A83A;
  border-radius:6px;
  font-family:'Manrope',sans-serif;
  font-size:12.5px;
  color:#6B4C0F;
  line-height:1.5;
}

/* §15 — Annonce sobre après galerie intervenants */
.speakers-more-soon{
  margin-top:28px;
  padding:18px 22px;
  text-align:center;
  font-family:'Manrope',sans-serif;
  font-size:14px;
  font-style:italic;
  color:#6D3A8D;
  background:linear-gradient(180deg,#faf6fd 0%,#fff 100%);
  border:1px dashed rgba(111,58,141,.25);
  border-radius:10px;
}

/* §9-10 — Ligne "session" dans le profil intervenant */
.profile-session{
  margin-top:10px;
  padding:8px 12px;
  background:#faf6fd;
  border-left:3px solid #6D3A8D;
  border-radius:4px;
  font-size:12.5px;
  font-weight:600;
  color:#4A2470;
  line-height:1.45;
}

/* §17 — Attestation mention discrète */
.attestation-mention{
  margin:14px 0 20px;
  padding:12px 16px;
  background:#f8f5fb;
  border-left:3px solid #6D3A8D;
  border-radius:6px;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:#4A2470;
  line-height:1.5;
  display:flex;
  align-items:center;
  gap:10px;
}
.attestation-mention i{
  width:16px;height:16px;
  color:#6D3A8D;
  flex-shrink:0;
}

@media(max-width:640px){
  .ws-day-group{ padding:12px 12px; }
  .ws-day-group .opt-row{ padding:10px 12px; }
  .ws-day-group .opt-row label{ font-size:13px; }
  .speakers-more-soon{ font-size:13px; padding:14px 16px; }
  .attestation-mention{ font-size:12.5px; padding:10px 14px; }
}

/* ══════════════════════════════════════════════════════════════════════
   V40.3 APERÇU — INTÉGRATION DES 19 NOUVEAUX MÉDAILLONS (planche officielle)
   Fidélité à la planche PDF fournie : portrait rond avec bordure violette,
   nom en violet Manrope, filet doré, drapeau + pays uniformisés.
   ══════════════════════════════════════════════════════════════════════ */

/* Palette planche */
:root{
  --v405-purple:#4B2E83;      /* couleur des noms */
  --v405-purple-2:#6D3A8D;    /* pays / accents */
  --v405-gold:#D4A047;        /* filet doré */
}

/* Grille intervenants */
.sp-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap:32px 24px !important;
  align-items:stretch !important;
}

/* Carte */
.sp-card.v405-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  transition:transform .28s ease !important;
  overflow:visible !important;
}
.sp-card.v405-card:hover{ transform:translateY(-4px); }

/* Portrait (déjà rond dans le PNG) */
.sp-card.v405-card .v405-portrait-wrap{
  width:180px !important;
  height:180px !important;
  margin:0 auto 14px !important;
  position:relative;
  flex-shrink:0;
}
.sp-card.v405-card .v405-portrait,
.sp-card.v405-card .speaker-medallion{
  display:block !important;
  width:180px !important;
  height:180px !important;
  max-width:180px !important;
  max-height:180px !important;
  object-fit:contain !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Nom — typographie de la planche */
.sp-card.v405-card .v405-name{
  font-family:'Manrope', sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  color:var(--v405-purple) !important;
  text-align:center !important;
  line-height:1.3 !important;
  letter-spacing:.005em !important;
  width:100% !important;
  min-height:2.6em !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 8px !important;
  padding:0 6px !important;
}

/* Filet doré */
.sp-card.v405-card .v405-gold-bar{
  width:56px !important;
  height:2.5px !important;
  background:var(--v405-gold) !important;
  border-radius:2px !important;
  margin:0 auto 10px !important;
}

/* Ligne drapeau + pays */
.sp-card.v405-card .v405-country-line{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 0 12px !important;
}
.sp-card.v405-card .v405-flag{
  display:inline-block !important;
  width:26px !important;
  height:18px !important;
  flex-shrink:0 !important;
  border-radius:2px !important;
  overflow:hidden !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.06) !important;
  vertical-align:middle !important;
}
.sp-card.v405-card .v405-flag svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
}
.sp-card.v405-card .v405-country{
  font-family:'Manrope', sans-serif !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:var(--v405-purple-2) !important;
  line-height:1 !important;
}

/* Bouton "Voir le profil" */
.sp-card.v405-card .profile-toggle{
  margin-top:auto !important;
  width:auto !important;
  min-width:150px !important;
  font-family:'Manrope', sans-serif !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--v405-purple) !important;
  background:transparent !important;
  border:1px solid rgba(75,46,131,.28) !important;
  border-radius:8px !important;
  padding:9px 16px !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  transition:background .2s ease, border-color .2s ease !important;
}
.sp-card.v405-card .profile-toggle:hover{
  background:rgba(75,46,131,.06) !important;
  border-color:rgba(75,46,131,.5) !important;
}
.sp-card.v405-card .speaker-profile{
  width:100% !important;
  margin-top:12px !important;
  padding:12px 14px !important;
  background:#faf6fd !important;
  border-radius:10px !important;
  border:1px solid rgba(75,46,131,.10) !important;
}
.sp-card.v405-card .speaker-profile .profile-role{
  font-family:'Manrope', sans-serif !important;
  font-size:12.5px !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  color:#2b1a4a !important;
  text-align:center !important;
}
.sp-card.v405-card .speaker-profile .profile-country{ display:none !important; }
.sp-card.v405-card .speaker-profile .profile-session{
  margin-top:8px !important;
  font-size:12px !important;
  font-weight:700 !important;
  color:var(--v405-purple) !important;
  text-align:center !important;
}
.sp-card.v405-card.featured-speaker::before,
.sp-card.v405-card.featured-speaker::after{ display:none !important; content:"" !important; }

/* Responsive tablette */
@media(max-width:1024px){
  .sp-grid{ grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)) !important; gap:28px 20px !important; }
}
/* Responsive mobile */
@media(max-width:640px){
  .sp-grid{
    grid-template-columns:repeat(2, 1fr) !important;
    gap:24px 14px !important;
  }
  .sp-card.v405-card .v405-portrait-wrap,
  .sp-card.v405-card .v405-portrait,
  .sp-card.v405-card .speaker-medallion{
    width:150px !important;
    height:150px !important;
    max-width:150px !important;
    max-height:150px !important;
  }
  .sp-card.v405-card .v405-name{
    font-size:14px !important;
    min-height:2.6em !important;
  }
  .sp-card.v405-card .v405-gold-bar{ width:48px !important; }
  .sp-card.v405-card .v405-flag{ width:22px !important; height:15px !important; }
  .sp-card.v405-card .v405-country{ font-size:10px !important; }
  .sp-card.v405-card .profile-toggle{
    font-size:10.5px !important;
    padding:8px 12px !important;
    min-width:130px !important;
  }
}
@media(max-width:400px){
  .sp-card.v405-card .v405-portrait-wrap,
  .sp-card.v405-card .v405-portrait,
  .sp-card.v405-card .speaker-medallion{
    width:130px !important;
    height:130px !important;
    max-width:130px !important;
    max-height:130px !important;
  }
  .sp-card.v405-card .v405-name{ font-size:13px !important; }
}




/* ==== BLOCK 2 (v406-visual-fix) ==== */


/* Version sans drapeaux : fond blanc et un seul cercle mauve visible. */
.sp-card.v405-card .v405-portrait-wrap{
  border:4px solid var(--v405-purple)!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
  outline:0!important;
  box-shadow:none!important;
}
.sp-card.v405-card .v405-portrait,
.sp-card.v405-card .speaker-medallion{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  transform:scale(1.30)!important;
  transform-origin:center center!important;
}
.sp-card.v405-card .v405-flag{display:none!important;}
.sp-card.v405-card .v405-country-line{gap:0!important;}
.v18-poster-shell .v18-poster-qr-fix{
  position:absolute!important;
  left:67.55%;
  top:86.84%;
  width:11.75%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  padding:4px;
  border:2px solid #6D3A8D!important;
  border-radius:5px!important;
  background:#fff;
  box-sizing:border-box;
  box-shadow:none!important;
  object-fit:contain;
  z-index:2;
}
