/* Favoris : composant partagé de l'en-tête et de la topbar, palette centrale. */
.fp-title-row { display: flex; align-items: center; gap: var(--ds-space-3); min-width: 0; }
html.ds-apple #page-content .fp-title-row > .mi-page-header__title { min-width: 0; margin: 0; }
.fp-title-row .fp-icon.ds-button { flex: 0 0 44px; }
#fp-root { display: inline-flex; align-items: center; }
#fp-root .fp-icon.ds-button, .fp-title-row .fp-icon.ds-button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: var(--ds-radius-control); box-shadow: none; background: transparent; color: var(--ds-text-2); }
#main-content-header #fp-toggle { color: var(--ds-nav-text); }
#fp-root .fp-icon.ds-button:hover, .fp-title-row .fp-icon.ds-button:hover { background: var(--ds-surface-2); color: var(--ds-text); }
#main-content-header #fp-toggle:hover, #main-content-header #fp-toggle[aria-expanded="true"] { background: var(--ds-nav-hover); color: var(--ds-nav-text); }
.fp-icon > i, .fp-icon > svg { width: 22px; height: 22px; font-size: 22px; }
/* L'étoile de page accompagne le titre ; celle de la topbar garde sa taille compacte. */
html.ds-apple #page-content .fp-title-row .fp-page-toggle.ds-button { padding: 0; border: 0; background: transparent; box-shadow: none; color: var(--ds-text-2); }
@media (hover: hover) {
    html.ds-apple #page-content .fp-title-row .fp-page-toggle.ds-button:hover { background: var(--ds-surface-2); }
}
html.ds-apple #page-content .fp-title-row .fp-page-toggle > :is(i, svg) { width: calc(var(--ds-font-size-title) * .875); height: calc(var(--ds-font-size-title) * .875); font-size: calc(var(--ds-font-size-title) * .875); margin: 0; display: grid; place-items: center; }
.fp-page-toggle[aria-pressed="true"] svg { fill: currentColor; }
.fp-page-toggle[aria-pressed="true"] i { font-weight: 900; }
html.ds-apple #page-content .fp-title-row .fp-page-toggle[aria-pressed="true"] { color: var(--ds-rating-star); }
#fp-root #fp-panel { position: absolute; z-index: var(--ds-z-dropdown, 1050); top: calc(100% + var(--ds-space-2)); right: 0; display: flex; flex-direction: column; width: min(410px, calc(100vw - 32px)); max-height: min(75vh, 660px); max-height: min(75dvh, 660px); overflow: hidden; padding: var(--ds-space-4); background: var(--ds-surface); color: var(--ds-text); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-card); box-shadow: var(--ds-shadow-menu); white-space: normal; text-align: left; }
#fp-root [hidden], #fp-feedback[hidden] { display: none; }
#fp-root .fp-heading { display: flex; align-items: center; gap: var(--ds-space-2); border-bottom: 1px solid var(--ds-border); padding-bottom: var(--ds-space-2); margin-bottom: var(--ds-space-2); }
#fp-root .fp-heading h2 { margin: 0; flex: 1; font-size: var(--ds-font-size-subtitle); line-height: 1.3; color: var(--ds-text); }
#fp-root #fp-count, #fp-root #fp-help { color: var(--ds-text-2); font-size: var(--ds-font-size-secondary); }
#fp-root :is(#fp-status, #fp-help) { margin: var(--ds-space-3) 0; line-height: 1.5; }
#fp-root #fp-status.is-error { color: var(--ds-status-danger); }
#fp-root #fp-list { list-style: none; padding: 0; margin: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; }
#fp-root :is(.fp-heading, .fp-footer, #fp-status, #fp-help) { flex-shrink: 0; }
#fp-root .fp-item { display: flex; align-items: center; gap: var(--ds-space-1); border-radius: var(--ds-radius-control); border: 2px solid transparent; }
#fp-root .fp-link { flex: 1; min-width: 0; display: block; padding: var(--ds-space-3) var(--ds-space-2); color: var(--ds-text); font-size: var(--ds-font-size-body); line-height: 1.4; overflow-wrap: anywhere; text-decoration: none; border-radius: var(--ds-radius-control); }
#fp-root .fp-link:hover { background: var(--ds-surface-2); }
#fp-root.is-organizing .fp-item { flex-wrap: wrap; margin-bottom: var(--ds-space-2); background: var(--ds-surface-2); }
#fp-root .fp-grip.ds-button { cursor: grab; color: var(--ds-text-2); }
#fp-root .fp-controls { display: flex; margin-left: auto; padding: 0 var(--ds-space-1) var(--ds-space-1); gap: var(--ds-space-1); }
#fp-root .fp-controls .ds-button { min-height: 44px; min-width: 44px; padding: var(--ds-space-2); }
#fp-root .fp-item.is-drop-target { border-color: var(--ds-text); }
#fp-root .fp-item.is-dragging { opacity: .55; }
#fp-root .fp-footer { display: flex; gap: var(--ds-space-2); padding-top: var(--ds-space-3); border-top: 1px solid var(--ds-border); margin-top: var(--ds-space-2); }
#fp-root .fp-footer .ds-button { min-height: 44px; }
#fp-root :is(a, button):focus-visible, .fp-page-toggle:focus-visible { outline: 2px solid var(--ds-focus-color); outline-offset: 2px; }
#fp-feedback { position: fixed; z-index: var(--ds-z-toast, 1090); right: var(--ds-space-4); bottom: calc(100px + env(safe-area-inset-bottom)); max-width: min(420px, calc(100vw - 32px)); padding: var(--ds-space-4); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-card); box-shadow: var(--ds-shadow-menu); background: var(--ds-surface); color: var(--ds-text); font-size: var(--ds-font-size-body); }
#fp-feedback.is-error { border-color: var(--ds-status-danger); }
@media (max-width: 575.98px) {
    #main-content-header > .col.order-lg-last { gap: var(--ds-space-1); }
    #fp-root #fp-panel { right: 0; width: calc(100vw - 32px); }
    #fp-root .fp-controls { flex-basis: 100%; justify-content: flex-end; }
}
