.fl-candidate-cover-identity{display:grid;gap:8px;margin:12px 0;max-width:100%;min-width:0;color:inherit;white-space:normal}
.fl-candidate-cover-identity [hidden],.fl-candidate-editor [hidden]{display:none!important}
.fl-candidate-cover-title,.fl-candidate-cover-slogan,.fl-candidate-cover-stage{margin:0;width:fit-content;max-width:100%;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.94);color:#35332f;overflow-wrap:anywhere}
.fl-candidate-cover-title{font-size:clamp(14px,1.2vw,18px);font-weight:650;line-height:1.4}
.fl-candidate-cover-slogan{font-size:clamp(15px,1.3vw,19px);font-style:italic;line-height:1.5}
.fl-candidate-cover-stage{font-size:12px}.fl-candidate-support-label{font-size:12px;font-weight:650;display:block;margin-bottom:5px}
.fl-candidate-supports{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px;max-width:100%}
.fl-candidate-supports li{max-width:100%}.fl-candidate-supports a,.fl-candidate-supports li>span,.fl-candidate-supports li>button{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.94);color:#35332f;border:1px solid #d4d0ca;border-radius:20px;padding:5px 10px;font-family:inherit;font-size:13px;line-height:1.35;overflow-wrap:anywhere;max-width:100%;text-decoration:none;text-align:start}
.fl-candidate-supports img{object-fit:contain;border-radius:50%;flex-shrink:0}.fl-candidate-supports button{cursor:pointer}.fl-candidate-supports a:hover,.fl-candidate-supports button:hover{text-decoration:underline}.fl-candidate-supports :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:3px}
.fl-candidate-editor{--ci-bg:#fff;--ci-text:#35332f;--ci-border:#d4d0ca;--ci-muted:#646059;--ci-accent:var(--fl-candidate-accent,var(--fl-color-entity-candidat-fonce,#55524e));color:var(--ci-text)}
.fl-candidate-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.fl-candidate-editor button{border:1px solid var(--ci-border);border-radius:8px;background:var(--ci-bg);color:var(--ci-text);padding:8px 12px;line-height:1.3;font-size:14px;cursor:pointer}
.fl-candidate-editor button:disabled{opacity:.5;cursor:default}.fl-candidate-editor button:focus-visible,.fl-candidate-editor input:focus-visible,.fl-candidate-editor textarea:focus-visible{outline:2px solid var(--ci-accent);outline-offset:3px}
.fl-candidate-dialog{padding:0;width:min(700px,calc(100vw - 28px));max-height:calc(100dvh - 40px);border:1px solid var(--ci-border);border-radius:16px;background:var(--ci-bg);color:var(--ci-text);box-shadow:0 24px 90px #0005;margin:auto}
.fl-candidate-dialog::backdrop{background:#15131088}.fl-candidate-dialog[open]{display:flex;flex-direction:column}.fl-candidate-dialog>form{display:flex;flex-direction:column;overflow:auto}
.fl-candidate-dialog header,.fl-candidate-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;flex-shrink:0}
.fl-candidate-dialog header{border-bottom:1px solid var(--ci-border)}.fl-candidate-dialog footer{border-top:1px solid var(--ci-border);flex-wrap:wrap}
.fl-candidate-dialog h2{font-size:20px;margin:0}.fl-candidate-dialog h3{font-size:16px;margin:14px 0 10px}.fl-candidate-dialog header button{font-size:23px;padding:0 8px}
.fl-candidate-dialog-body{padding:16px 20px;overflow:auto;min-height:0}.fl-candidate-dialog p{line-height:1.5;margin:8px 0 12px}
.fl-candidate-dialog label{display:block;font-size:14px;font-weight:600;margin:12px 0 5px}.fl-candidate-dialog input,.fl-candidate-dialog textarea{width:100%;border:1px solid var(--ci-border);border-radius:8px;padding:10px;color:var(--ci-text);background:var(--ci-bg);font:inherit;box-sizing:border-box}
.fl-candidate-input-row{display:flex;gap:8px}.fl-candidate-input-row input{min-width:0}.fl-candidate-results{display:grid;gap:8px;margin:12px 0}
.fl-candidate-party-card{border:1px solid var(--ci-border);border-radius:10px;padding:10px 12px}.fl-candidate-party-card strong{display:block;overflow-wrap:anywhere}.fl-candidate-party-card small{display:block;color:var(--ci-muted);margin:4px 0;overflow-wrap:anywhere}
.fl-candidate-party-card .fl-candidate-editor-actions{margin-bottom:0}.fl-candidate-selected{padding-left:23px}.fl-candidate-selected li{padding:8px 0;border-bottom:1px solid var(--ci-border)}
.fl-candidate-pagination{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:12px 0}.fl-candidate-form-note{font-size:13px;color:var(--ci-muted)}
.fl-candidate-dialog-slogan footer button:last-child{background:var(--ci-accent);color:var(--ci-on-accent,#fff);border-color:var(--ci-accent)}.fl-candidate-dialog-slogan{max-width:580px}.fl-candidate-slogan-preview{font-style:italic;overflow-wrap:anywhere}.fl-candidate-error{color:#b32525;font-weight:500}
.fl-candidate-dialog-organization{max-width:540px}.fl-candidate-dialog-organization h2,.fl-candidate-dialog-organization p{overflow-wrap:anywhere;min-width:0}.fl-candidate-dialog-organization header button{flex-shrink:0}.fl-candidate-dialog-organization footer a{background:var(--ci-accent);color:var(--ci-on-accent,#fff);padding:8px 12px;border-radius:8px}
body[data-bs-theme="dark"] .fl-candidate-editor,body.night-mode .fl-candidate-editor,[data-bs-theme="dark"] .fl-candidate-editor{--ci-bg:#242320;--ci-text:#eeeae4;--ci-border:#59564f;--ci-muted:#c7c2ba;--ci-accent:var(--fl-color-entity-candidat-clair,#c7c2ba);--ci-on-accent:#252525}
:is(body.night-mode,[data-bs-theme="dark"]) .fl-candidate-cover-title,:is(body.night-mode,[data-bs-theme="dark"]) .fl-candidate-cover-slogan,:is(body.night-mode,[data-bs-theme="dark"]) .fl-candidate-cover-stage,:is(body.night-mode,[data-bs-theme="dark"]) .fl-candidate-supports a,:is(body.night-mode,[data-bs-theme="dark"]) .fl-candidate-supports li>span,:is(body.night-mode,[data-bs-theme="dark"]) .fl-candidate-supports li>button{background:rgba(36,35,32,.94);color:#eeeae4;border-color:#59564f}
@media(max-width:480px){.fl-candidate-dialog{max-height:calc(100dvh - 20px);width:calc(100vw - 16px)}.fl-candidate-dialog header,.fl-candidate-dialog footer,.fl-candidate-dialog-body{padding:12px}.fl-candidate-dialog h2{font-size:18px}.fl-candidate-editor button{padding:9px 10px}.fl-candidate-cover-identity{gap:6px}}

/* Figma: liste express (desktop) and panneau guidé (mobile). */
.fl-candidate-dialog-labels {
  --ci-text:var(--fl-color-text-primary,#111);
  --ci-border:var(--agorapi-neutre-bordure,#dde3ec);
  --ci-muted:var(--agorapi-neutre-secondaire,#657085);
  --ci-accent:var(--fl-candidate-accent,var(--fl-color-entity-candidat-fonce,#55524e));
  --ci-soft:#f3f1ee;
  --ci-canvas:var(--fl-color-canvas,#f0f2f5);
  box-sizing:border-box;width:600px;max-width:calc(100vw - 32px);border-radius:20px;
  font-family:Poppins,sans-serif;font-size:15px;line-height:1.5;text-align:start;white-space:normal;
  overflow:hidden;
}
.fl-candidate-dialog-labels *, .fl-candidate-dialog-labels *::before, .fl-candidate-dialog-labels *::after {box-sizing:border-box}
.fl-candidate-dialog-labels .fl-candidate-mobile {display:none}
.fl-candidate-sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0!important}
.fl-candidate-dialog-labels>header {display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:28px;border:0}
.fl-candidate-dialog-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.fl-candidate-dialog-labels h2 {font-family:inherit;font-size:24px;font-weight:600;line-height:34px;min-width:0;overflow-wrap:anywhere;color:var(--ci-text)}
.fl-candidate-dialog-labels>header p {margin:0;color:var(--ci-muted);font-size:15px;overflow-wrap:anywhere}
.fl-candidate-dialog-labels button {font-family:inherit}
.fl-candidate-dialog-labels .fl-candidate-close {width:36px;height:36px;flex:0 0 36px;border:0;border-radius:50%;padding:0;display:grid;place-items:center;background:var(--ci-canvas);color:var(--ci-accent)}
.fl-candidate-icon {display:inline-block;width:16px;height:16px;flex:0 0 auto;background:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:contain}
.fl-candidate-icon-close {mask-image:url('../images/svg/close.svg')}
.fl-candidate-icon-search {mask-image:url('../images/svg/header-search.svg')}
.fl-candidate-dialog-labels>.fl-candidate-dialog-body {padding:0 28px;flex:0 1 auto;overscroll-behavior:contain}
.fl-candidate-dialog-labels [data-supports-main] {display:flex;flex-direction:column;gap:16px}
.fl-candidate-dialog-labels .fl-candidate-selected {display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0;max-height:120px;overflow:auto}
.fl-candidate-dialog-labels .fl-candidate-selected li {padding:0;border:0;max-width:100%}
.fl-candidate-dialog-labels .fl-candidate-chip {display:flex;align-items:center;gap:8px;max-width:100%;min-height:40px;padding:10px;border:0;border-radius:30px;background:var(--ci-soft);color:var(--ci-accent);font-size:13px;text-align:start}
.fl-candidate-chip-label {min-width:0;overflow-wrap:anywhere}
.fl-candidate-chip .fl-candidate-icon {width:14px;height:14px}
.fl-candidate-search {position:relative;flex-shrink:0}
.fl-candidate-search>.fl-candidate-icon {position:absolute;top:15px;left:16px;width:18px;height:18px;color:var(--ci-muted);pointer-events:none}
.fl-candidate-dialog-labels .fl-candidate-search input {height:48px;padding:12px 16px 12px 46px;border-radius:12px;font-size:13px;line-height:22px;margin:0}
.fl-candidate-search input::placeholder {color:var(--ci-muted);opacity:1}
.fl-candidate-dialog-labels .fl-candidate-selection-count {font-size:12px;color:var(--ci-muted);margin:0}
.fl-candidate-dialog-labels .fl-candidate-results {gap:8px;margin:0;max-height:298px;overflow:auto;overscroll-behavior:contain;padding:3px;margin:-3px;scrollbar-width:thin}
.fl-candidate-dialog-labels .fl-candidate-party-card {border:0;padding:0;min-width:0}
.fl-candidate-dialog-labels .fl-candidate-party-choice {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:12px;border-radius:12px;border:1px solid var(--ci-border);font-size:15px;font-weight:400;line-height:1.5;text-align:start}
.fl-candidate-party-choice>span:first-child {overflow-wrap:anywhere;min-width:0}
.fl-candidate-dialog-labels .fl-candidate-party-choice[aria-checked="true"] {background:var(--ci-soft);border-color:var(--ci-accent)}
.fl-candidate-party-choice-indicator {width:20px;height:20px;flex:0 0 20px;border:1px solid var(--ci-border);border-radius:4px;display:grid;place-items:center;background:var(--ci-bg)}
.fl-candidate-party-choice[aria-checked="true"] .fl-candidate-party-choice-indicator {background:var(--ci-accent);border-color:var(--ci-accent)}
.fl-candidate-party-choice[aria-checked="true"] .fl-candidate-party-choice-indicator::after {content:"";display:block;width:14px;height:14px;background:var(--ci-on-accent,#fff);mask:url('../images/svg/checkmark.svg') center/contain no-repeat}
.fl-candidate-dialog-labels .fl-candidate-pagination {margin:0;font-size:12px;color:var(--ci-muted)}
.fl-candidate-dialog-labels .fl-candidate-pagination button {font-size:12px;padding:8px 10px}
.fl-candidate-dialog-labels .fl-candidate-text-button {align-self:flex-start;text-align:start;padding:0;min-height:28px;background:none;border:0;font-size:13px;font-weight:500;color:var(--ci-accent)}
.fl-candidate-selection-tools {font-size:13px;color:var(--ci-muted)}
.fl-candidate-selection-tools summary {cursor:pointer;padding:4px 0;min-height:28px}
.fl-candidate-selection-tools ol {padding:0;list-style:none;margin:12px 0 0;display:grid;gap:12px}
.fl-candidate-selection-tools li {border:1px solid var(--ci-border);padding:12px;border-radius:12px;overflow-wrap:anywhere}
.fl-candidate-selection-tools button {font-size:12px}
.fl-candidate-dialog-labels>footer {border:0;padding:28px;gap:12px;justify-content:flex-end;flex-wrap:nowrap}
.fl-candidate-dialog-labels>footer button,.fl-candidate-dialog-labels>footer a {display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;font-size:13px;font-weight:600;line-height:1.5;text-decoration:none}
.fl-candidate-dialog-labels>footer .fl-candidate-primary {background:var(--ci-accent);color:var(--ci-on-accent,#fff);border:1px solid var(--ci-accent);width:250px;padding:12px}
.fl-candidate-dialog-labels>footer .fl-candidate-cancel {background:var(--ci-bg);color:var(--ci-accent);border:1px solid var(--ci-border);min-width:110px;padding:12px}
.fl-candidate-dialog-labels [role="status"]:empty {display:none}
.fl-candidate-dialog-labels :is(a,summary):focus-visible {outline:2px solid var(--ci-accent);outline-offset:3px;border-radius:4px}
.fl-candidate-dialog-organization {width:540px}
.fl-candidate-dialog-organization>.fl-candidate-dialog-body {display:flex;flex-direction:column;gap:20px}
.fl-candidate-dialog-organization>.fl-candidate-dialog-body p {margin:0;font-size:15px}
.fl-candidate-organization-preview {display:flex;align-items:center;gap:16px;padding:20px;border:1px solid var(--ci-border);border-radius:16px;background:var(--ci-soft)}
.fl-candidate-organization-avatar {display:grid;place-items:center;flex:0 0 60px;width:60px;height:60px;border-radius:50%;background:var(--ci-bg);color:var(--ci-accent);font-size:18px;font-weight:600;overflow:hidden}
.fl-candidate-organization-avatar img {width:100%;height:100%;object-fit:contain}
.fl-candidate-organization-identity {display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.fl-candidate-organization-identity strong {font-size:15px;font-weight:500;color:var(--ci-text)}
.fl-candidate-organization-identity>span {font-size:13px;color:var(--ci-muted)}
.fl-candidate-organization-identity small {font-size:12px;color:var(--ci-accent)}
.fl-candidate-organization-benefits {color:var(--ci-muted)}
.fl-candidate-dialog-organization>footer {flex-direction:column}
.fl-candidate-dialog-organization>footer .fl-candidate-primary {width:100%}
.fl-candidate-dialog-organization>footer .fl-candidate-cancel {border:0;background:none;min-height:24px;font-weight:400;padding:0}
:is(body.night-mode,[data-bs-theme="dark"]) .fl-candidate-dialog-labels {--ci-text:#eeeae4;--ci-border:#59564f;--ci-muted:#c7c2ba;--ci-accent:var(--fl-color-entity-candidat-clair,#c7c2ba);--ci-on-accent:#252525;--ci-soft:#35322f;--ci-canvas:#35322f}
@media (hover:hover) {
  .fl-candidate-dialog-labels .fl-candidate-party-choice:not(:disabled):hover {border-color:var(--ci-accent)}
  .fl-candidate-dialog-labels :is(.fl-candidate-text-button,.fl-candidate-chip):hover {text-decoration:underline}
}
@media(max-width:575px) {
  .fl-candidate-dialog-labels {position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:calc(100dvh - 8px);border-radius:20px 20px 0 0}
  .fl-candidate-dialog-labels .fl-candidate-desktop {display:none}
  .fl-candidate-dialog-labels .fl-candidate-mobile {display:block}
  .fl-candidate-dialog-labels>header {padding:12px 20px 20px}
  .fl-candidate-dialog-labels>header::before {content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--ci-border);margin:0 auto 8px}
  .fl-candidate-dialog-labels .fl-candidate-close {width:44px;height:44px;flex-basis:44px}
  .fl-candidate-dialog-labels>.fl-candidate-dialog-body {padding:0 20px}
  .fl-candidate-dialog-labels .fl-candidate-search {order:-1}
  .fl-candidate-dialog-labels .fl-candidate-search input {font-size:16px}
  .fl-candidate-dialog-labels .fl-candidate-selection-count {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .fl-candidate-dialog-labels .fl-candidate-selected {max-height:104px}
  .fl-candidate-dialog-labels .fl-candidate-chip {min-height:44px}
  .fl-candidate-dialog-labels .fl-candidate-results {max-height:254px}
  .fl-candidate-dialog-labels .fl-candidate-party-choice {min-height:56px}
  .fl-candidate-dialog-labels .fl-candidate-text-button {min-height:44px;display:flex;align-items:center}
  .fl-candidate-selection-tools summary {min-height:44px;padding:12px 0;list-style-position:inside}
  .fl-candidate-dialog-labels>footer {flex-direction:column-reverse;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .fl-candidate-dialog-labels>footer .fl-candidate-primary {width:100%}
  .fl-candidate-dialog-labels>footer .fl-candidate-cancel {border:0;background:none;font-weight:400;padding:0;min-height:44px}
  .fl-candidate-dialog-organization>footer {flex-direction:column}
  .fl-candidate-organization-preview {padding:16px;gap:12px;border:0}
  .fl-candidate-organization-avatar {width:48px;height:48px;flex-basis:48px;font-size:15px}
  .fl-candidate-organization-benefits strong {color:var(--ci-text);font-weight:500}
  .fl-candidate-dialog-organization .fl-candidate-organization-benefits .fl-candidate-mobile+.fl-candidate-mobile {margin-top:20px}
}

.fl-candidate-extra-supports{margin-top:8px}.fl-candidate-extra-supports summary{cursor:pointer;font-size:13px;margin-bottom:8px}
/* The historical profile header forces max-content/nowrap and a 100px height.
   Candidate covers need a bounded text column and height for slogan/supports. */
.fl-profile-candidate-cover{height:auto!important;min-height:300px;padding-bottom:20px}
.fl-profile-candidate-cover .profile-header2{margin:28px 0 0!important;padding:16px;min-width:0}
.fl-profile-candidate-cover .profile-header2>div{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:16px;width:100%;min-width:0;align-items:start}
.fl-profile-candidate-cover .profile-avatar-wrapper{float:none!important;margin:0!important;align-self:start}
.fl-profile-candidate-cover .text-header-presentation-container{height:auto!important;width:100%;min-width:0;display:block}
.fl-profile-candidate-cover .text-header-presentation{width:100%;max-width:100%!important;min-width:0;white-space:normal;margin:0!important;padding:0!important}
.fl-profile-candidate-cover .profile-header__inner{min-width:0;max-width:100%}
.fl-profile-candidate-cover .profile-title{white-space:normal;overflow-wrap:anywhere}
.fl-profile-candidate-cover .location-chip{max-width:100%;flex-wrap:wrap}
.fl-profile-candidate-cover .location-main{white-space:normal;overflow-wrap:anywhere}
@media(max-width:575px){.fl-profile-candidate-cover .profile-header2{padding:12px;margin-top:12px!important}.fl-profile-candidate-cover .profile-header2>div{grid-template-columns:76px minmax(0,1fr);gap:12px}.fl-profile-candidate-cover .profile-avatar-wrapper{width:76px!important;height:76px!important}}
