/* La structure du fil praticien adopte la typographie et la palette du site EMI. */
.forum-page {
  --forum-bg: var(--background, #fafaf8);
  --forum-border: var(--gray-3, #d8d7d4);
  --forum-input-border: #d4d2cb;
  --forum-muted: var(--muted, #797875);
  --forum-text: var(--foreground, #292927);
  --forum-secondary: #656461;
  --forum-surface: #fff;
  --forum-accent: var(--brand, #343432);
  --forum-accent-hover: #242423;
  --forum-selected: var(--gray-2, #efeee9);
  --forum-selected-text: #343432;
  --forum-button-border: #adaca9;
  background: var(--forum-bg);
  color: var(--forum-text);
}
button, input, textarea, select { font: inherit; }
textarea, select { color: inherit; }
[hidden] { display: none !important; }
.forum-page :is(button, a):hover { color: var(--forum-accent); }
.forum-page button:disabled { opacity: .55; }
.forum-icons { position: absolute; width: 0; height: 0; overflow: hidden; }
.forum-icon { width: 16px; height: 16px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.forum-header-nav { display: flex; align-items: center; gap: 30px; margin-left: auto; font-size: 13px; }
.forum-header-nav [aria-current] { color: var(--forum-accent); border-bottom: 1px solid; padding: 10px 0; }
.forum-page #account .outline-button { padding: 10px 15px; font-size: 12px; }
.forum-wrap { max-width: 1184px; margin: auto; padding: 28px 32px 64px; }
.forum-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--forum-border); padding-bottom: 20px; }
.forum-intro h1 { display: flex; align-items: center; gap: 9px; font-size: 28px; font-weight: 400; letter-spacing: -.8px; margin: 0 0 10px; }
.forum-intro h1 .forum-icon { width: 20px; height: 20px; color: var(--forum-accent); }
.forum-intro p { color: var(--forum-muted); font-size: 13px; line-height: 1.6; margin: 0; }
.forum-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.forum-feed { min-width: 0; scroll-margin-top: 24px; }
.forum-rail { position: sticky; top: 24px; display: grid; gap: 16px; }
.forum-composer, .post-card, .rail-card, .forum-empty { background: var(--forum-surface); border: 1px solid var(--forum-border); border-radius: 0; overflow: hidden; }
.forum-composer { margin-bottom: 14px; }
.composer-main { display: flex; align-items: center; gap: 12px; padding: 16px; }
.forum-avatar { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%; background: var(--forum-selected); color: var(--forum-accent); font-size: 14px; font-weight: 500; }
.composer-main .forum-avatar { width: 44px; height: 44px; }
.composer-main .forum-icon { width: 22px; height: 22px; }
#composer-trigger { flex: 1; min-width: 0; border: 1px solid var(--forum-input-border); border-radius: 0; background: var(--forum-bg); padding: 13px 20px; text-align: left; font-size: 14px; color: var(--forum-muted); line-height: 1.5; }
#composer-trigger:hover { border-color: var(--forum-accent); background: var(--forum-surface); }
.composer-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--forum-border); padding: 4px 8px; gap: 4px; }
.composer-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 4px; border-radius: 0; color: var(--forum-secondary); font-size: 12px; }
.composer-actions .forum-icon { color: var(--forum-accent); }
.composer-actions button:hover { background: var(--forum-selected); }
.forum-search { display: flex; align-items: center; gap: 10px; border: 1px solid var(--forum-border); border-radius: 0; background: var(--forum-surface); padding: 0 12px; margin-bottom: 12px; color: var(--forum-muted); }
.forum-search input { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 13px; padding: 12px 0; color: var(--forum-text); }
.forum-search input::placeholder { color: var(--forum-muted); }
.forum-search button { font-size: 12px; color: var(--forum-accent); padding: 10px 0; }
.forum-filters { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.forum-filters > div { display: flex; gap: 4px; }
.forum-filters button { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 0; color: var(--forum-secondary); font-size: 13px; white-space: nowrap; }
.forum-filters button .forum-icon { width: 13px; height: 13px; }
.forum-filters button[aria-pressed=true] { background: var(--forum-selected); color: var(--forum-selected-text); box-shadow: none; outline: 0; }
.forum-filters select { min-width: 0; max-width: 45%; border: 0; background: transparent; padding: 8px 0; color: var(--forum-muted); font-size: 12px; }
.feed-summary-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 0; }
.feed-summary { font-size: 11px; color: var(--forum-muted); }
#refresh-feed { display: inline-flex; align-items: center; gap: 5px; padding: 4px 0; font-size: 11px; color: var(--forum-muted); }
#refresh-feed .forum-icon { width: 12px; height: 12px; }
.post-card { margin-bottom: 12px; }
.post-content { padding: 16px 20px 12px; }
.post-header { display: flex; align-items: center; gap: 10px; }
.post-identity { min-width: 0; }
.post-author { font-size: 14px; font-weight: 600; margin: 0; overflow-wrap: anywhere; }
.post-date { display: block; font-size: 12px; color: var(--forum-muted); margin-top: 4px; }
.post-save { margin-left: auto; display: grid; place-items: center; padding: 8px; border-radius: 0; color: var(--forum-muted); }
.post-save:hover { background: var(--forum-bg); }
.post-save[aria-pressed=true] { color: var(--forum-accent); background: var(--forum-selected); }
.post-save[aria-pressed=true] .forum-icon { fill: currentColor; }
.post-badge { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--forum-border); background: var(--forum-selected); color: var(--forum-secondary); font-size: 10px; padding: 4px 7px; border-radius: 0; white-space: nowrap; }
.post-topic { display: block; font-size: 11px; color: var(--forum-accent); margin: 12px 0 0; }
.post-card h2 { margin: 10px 0 8px; }
.post-title { display: block; text-align: left; font-family: inherit; font-size: 20px; font-weight: 400; letter-spacing: -.3px; line-height: 1.35; padding: 0; overflow-wrap: anywhere; }
.post-body { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.65; color: var(--forum-text); margin: 0; }
.post-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.post-read-more { font-size: 12px; color: var(--forum-accent); font-weight: 500; padding: 6px 0 0; }
.post-engagement { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--forum-muted); padding-top: 12px; }
.post-engagement button { font-size: 12px; color: var(--forum-muted); padding: 0; }
.post-footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; border-top: 1px solid var(--forum-border); padding: 4px 8px; }
.post-footer > button, .reaction-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 0; padding: 9px 4px; font-size: 13px; font-weight: 500; color: var(--forum-secondary); width: 100%; }
.post-footer > button:hover, .reaction-toggle:hover { background: var(--forum-bg); }
.reaction-toggle[aria-pressed=true] { color: var(--forum-accent); }
.reaction-picker { position: relative; }
/* Le menu de réactions doit dépasser la carte sans être rogné. */
.post-card { overflow: visible; }
.reaction-options { display: flex; position: absolute; bottom: 42px; left: 0; padding: 6px; border: 1px solid var(--forum-border); background: var(--forum-surface); box-shadow: 0 4px 18px #0002; border-radius: 0; z-index: 2; }
.reaction-options button { font-size: 22px; padding: 6px; border-radius: 50%; }
.reaction-options button[aria-pressed=true] { background: var(--forum-selected); }
.post-quick-reply { display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--forum-border); padding: 10px 16px 14px; }
.post-quick-reply .forum-avatar { width: 28px; height: 28px; font-size: 11px; }
.post-quick-reply > button { flex: 1; border: 1px solid var(--forum-border); border-radius: 0; padding: 10px 14px; text-align: left; font-size: 12px; color: var(--forum-muted); background: var(--forum-bg); }
.rail-heading { display: flex; align-items: center; gap: 6px; padding: 12px 16px; margin: 0; border-bottom: 1px solid var(--forum-border); font-family: inherit; font-size: 10px; font-weight: 400; text-transform: uppercase; letter-spacing: 1.5px; color: var(--forum-muted); }
.rail-heading .forum-icon { width: 13px; height: 13px; }
#feed-nav { display: flex; flex-direction: column; padding: 4px 0; }
.feed-label-mobile { display: none; }
#feed-nav button { display: flex; align-items: center; gap: 10px; padding: 11px 16px; text-align: left; color: var(--forum-secondary); font-size: 13px; line-height: 1.5; }
#feed-nav button .forum-icon { width: 15px; height: 15px; color: var(--forum-muted); }
#feed-nav button:hover { background: var(--forum-bg); }
#feed-nav button[aria-pressed=true] { background: var(--forum-selected); color: var(--forum-selected-text); font-weight: 400; }
#feed-nav button[aria-pressed=true] .forum-icon { color: inherit; }
.rail-body { padding: 16px; }
.rail-body p { font-size: 13px; line-height: 1.7; color: var(--forum-muted); margin: 0; }
.community-stats { display: flex; gap: 32px; padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--forum-border); font-size: 11px; color: var(--forum-muted); }
.community-stats strong { display: block; color: var(--forum-text); font-size: 20px; font-weight: 600; margin-bottom: 5px; }
.charter-card h3 { font-size: 14px; font-weight: 600; margin: 0 0 12px; }
.charter-card ul { padding-left: 16px; margin: 0; font-size: 12px; line-height: 1.6; color: var(--forum-secondary); }
.charter-card li { margin-bottom: 8px; }
.forum-empty { text-align: center; padding: 48px 24px; }
.forum-empty > .forum-icon { width: 32px; height: 32px; color: var(--forum-accent); }
.forum-empty h2 { font-family: inherit; font-size: 22px; font-weight: 400; letter-spacing: -.5px; margin: 16px 0 10px; }
.forum-empty p { max-width: 380px; margin: 0 auto 22px; font-size: 13px; line-height: 1.7; color: var(--forum-muted); }
.forum-loading { padding: 40px; text-align: center; font-size: 13px; color: var(--forum-muted); }
.forum-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--forum-border); padding: 24px 32px; max-width: 1184px; margin: auto; font-size: 11px; color: var(--forum-muted); }
.forum-page .primary-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 13px 18px; border: 1px solid var(--forum-button-border); background: transparent; color: var(--forum-text); border-radius: 0; font-size: 12px; font-weight: 400; }
.forum-page .primary-button:hover { background: var(--forum-selected); border-color: var(--forum-accent); color: var(--forum-selected-text); }
.forum-page .outline-button { border: 1px solid var(--forum-button-border); border-radius: 0; }
#load-more { display: flex; padding: 12px 18px; margin: 20px auto; font-size: 13px; }
#forum-status:not(:empty) { padding: 14px 16px; margin-bottom: 16px; border: 1px solid var(--forum-input-border); border-radius: 0; font-size: 13px; line-height: 1.7; }
#forum-status button { text-decoration: underline; }
#account .account-name { display: flex; align-items: center; gap: 10px; font-size: 12px; }
#account .account-name > a { font-size: 11px; color: var(--forum-muted); }
.forum-page dialog { border: 1px solid var(--forum-input-border); border-radius: 0; width: min(660px, calc(100% - 32px)); background: var(--forum-surface); color: var(--forum-text); }
.forum-page dialog h2 { font-family: inherit; font-weight: 400; font-size: 28px; letter-spacing: -.5px; }
.forum-page dialog form > label, .form-grid > label, .reply-form > label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; margin: 0 0 20px; }
.forum-page dialog :is(input:not([type=checkbox]), textarea, select) { display: block; width: 100%; padding: 12px; border: 1px solid var(--forum-input-border); background: var(--forum-surface); border-radius: 0; font-size: 14px; color: inherit; }
.forum-page dialog textarea { resize: vertical; min-height: 100px; line-height: 1.7; }
.forum-page small { font-size: 11px; color: var(--forum-muted); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.forum-page dialog .consent-row { flex-direction: row; align-items: flex-start; gap: 10px; font-size: 12px; line-height: 1.7; color: var(--forum-muted); }
.consent-row input { margin: 3px 0 0; width: 16px; height: 16px; flex-shrink: 0; accent-color: var(--forum-accent); }
.form-error { font-size: 12px !important; color: #B3413B !important; line-height: 1.6; }
.thread-dialog .post-card { border: 0; background: transparent; }
.thread-dialog .post-content { padding: 0 0 16px; }
.thread-dialog .post-title { font-size: 26px; cursor: default; margin: 12px 0; }
.thread-comments { border-top: 1px solid var(--forum-border); margin-top: 24px; padding-top: 12px; }
.thread-comments > h3 { font-size: 14px; margin-bottom: 16px; }
.thread-comments > p { font-size: 13px; color: var(--forum-muted); line-height: 1.7; }
.comment { padding: 16px 0; border-bottom: 1px solid var(--forum-border); }
.comment .post-body { font-size: 13px; margin: 12px 0 0; padding-left: 50px; }
.comment .post-header > button { margin-left: auto; font-size: 11px; color: var(--forum-muted); }
.reply-form { margin-top: 24px; }
.signin-note { padding: 20px; border: 1px solid var(--forum-border); margin-top: 24px; border-radius: 0; }
.signin-note p { font-size: 13px; }
.thread-tools { display: flex; justify-content: space-between; gap: 10px; margin-top: 20px; }
.thread-tools button { font-size: 12px; color: var(--forum-muted); }
.reaction-summary { font-size: 12px; color: var(--forum-muted); margin-top: 16px; line-height: 1.7; }
html[data-theme=dark] .forum-page { --forum-bg: #201f1c; --forum-surface: #282724; --forum-text: #e9e8e5; --forum-secondary: #cac9c6; --forum-muted: #a8a7a4; --forum-border: #403f3c; --forum-input-border: #5a5956; --forum-accent: #c8c7c4; --forum-accent-hover: #deddda; --forum-selected: #2f2e2b; --forum-selected-text: #deddda; --forum-button-border: #73726f; --focus: #c8c7c4; }
html[data-theme=dark] .forum-avatar { background: var(--forum-selected); }
@media (max-width: 1000px) {
  .forum-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .forum-rail { grid-row: 1; position: static; }
  .forum-rail > :not(.feed-card) { display: none; }
  .feed-card .rail-heading { display: none; }
  #feed-nav { flex-direction: row; padding: 4px; gap: 4px; }
  #feed-nav button { flex: 1; justify-content: center; padding: 10px 8px; border-radius: 0; white-space: nowrap; }
  .forum-wrap { max-width: 800px; }
}
@media (max-width: 600px) {
  .forum-page .site-header { height: 75px; padding: 0 20px; gap: 14px; }
  .forum-header-nav { gap: 14px; font-size: 12px; }
  .forum-header-nav > a:first-child { display: none; }
  .forum-page #account .outline-button { padding: 8px 10px; font-size: 11px; }
  .forum-wrap { padding: 24px 16px 48px; }
  .forum-intro { align-items: flex-start; gap: 12px; margin-bottom: 16px; padding-bottom: 16px; }
  .forum-intro h1 { font-size: 25px; }
  .forum-intro p { max-width: 230px; font-size: 12px; }
  #feed-nav button { font-size: 11px; gap: 5px; padding: 10px 5px; }
  #feed-nav button .forum-icon { width: 13px; height: 13px; }
  .feed-label-desktop { display: none; }
  .feed-label-mobile { display: inline; }
  .composer-main { padding: 14px; gap: 10px; }
  .composer-main .forum-avatar { width: 36px; height: 36px; }
  #composer-trigger { padding: 11px 14px; font-size: 12px; }
  .composer-actions { gap: 0; padding: 4px; }
  .composer-actions button { gap: 4px; padding: 10px 2px; font-size: 10px; }
  .composer-actions .forum-icon { width: 13px; height: 13px; }
  .forum-filters { flex-wrap: wrap; }
  .forum-filters button { padding: 9px 10px; font-size: 12px; }
  .forum-filters select { max-width: 100%; font-size: 12px; }
  .post-content { padding: 16px; }
  .post-title { font-size: 21px; }
  .post-header { flex-wrap: wrap; gap: 8px; }
  .post-header .post-badge { order: 1; }
  .post-save { margin-left: auto; }
  .post-footer > button, .reaction-toggle { padding: 12px 2px; font-size: 12px; gap: 5px; }
  .forum-empty { padding: 36px 20px; }
  .forum-footer { padding: 24px 20px; flex-wrap: wrap; }
  .forum-footer > span { display: none; }
  #account .account-name > span { display: none; }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .forum-page dialog { padding: 24px; }
  .forum-page dialog h2 { font-size: 22px; }
  .forum-page dialog :is(input:not([type=checkbox]), textarea, select), .forum-search input { font-size: 16px; }
}


.browser-note{margin:0;padding:0 18px 18px;color:var(--forum-muted);font-size:11px;line-height:1.65}
