/* Connect — accès rapides et menus de compte. */
.ptfr-2027 #module-connect { position: relative; min-width: 0; overflow: visible; }
.ptfr-2027 #module-connect.horizontal { width: fit-content; max-width: 100%; }
.ptfr-2027 #module-connect :is(ul, li):not(.base-menu-panel) { margin: 0; padding: 0; list-style: none; }
.ptfr-2027 #module-connect .connect-elements-container { display: flex; flex-wrap: wrap; gap: 9px; align-items: stretch; }
.ptfr-2027 #module-connect.vertical .connect-elements-container { flex-direction: column; }
.ptfr-2027 #module-connect .connect-element { min-width: 0; }
.ptfr-2027 #module-connect :is(.connect-element > a, .connect-group-toggle, .connect-guest-button) {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--ink);
  font-size: .88rem;
  font-weight: 620;
  text-decoration: none;
  cursor: pointer;
}
.ptfr-2027 #module-connect :is(.connect-element > a, .connect-group-toggle, .connect-guest-button):hover { background: var(--tint); border-color: #a3b8bf; }
.ptfr-2027 #module-connect .connect-guest-button { width: fit-content; background: var(--brand); color: #fff; border-color: var(--brand); }
.ptfr-2027 #module-connect .connect-guest-button:hover { background: var(--brand-hover); }
.ptfr-2027 #module-connect .connect-element > a > i, .ptfr-2027 #module-connect .connect-group-toggle > i { color: var(--brand); }
.ptfr-2027 #module-connect :is(.connect-profil, .connect-pm) > a > i { color: var(--blue); }

.ptfr-2027 #module-connect .connect-event > a { background: var(--warning-bg); color: var(--warning); }
.ptfr-2027 #module-connect .connect-event > a:hover { background: #ffe7d2; }
.ptfr-2027 #module-connect .connect-event > a > i { color: var(--warning); }
.ptfr-2027 #module-connect .connect-disconnect > a { color: var(--danger); }
.ptfr-2027 #module-connect .connect-disconnect > a > span { display: inline-flex; align-items: center; gap: 8px; }
.ptfr-2027 #module-connect button.js-menu-button { display: none; }
.ptfr-2027 #module-connect details { position: relative; }
.ptfr-2027 #module-connect summary { list-style: none; }
.ptfr-2027 #module-connect summary::-webkit-details-marker { display: none; }
.ptfr-2027 #module-connect .connect-group-toggle::after { content: ''; width: 7px; height: 7px; margin: 0 2px 3px auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.ptfr-2027 #module-connect details[open] .connect-group-toggle { background: var(--tint); border-color: #a3b8bf; }
.ptfr-2027 #module-connect details[open] .connect-group-toggle::after { transform: rotate(225deg); margin-top: 4px; }
.ptfr-2027 #module-connect .connect-group-menu a,
.ptfr-2027 #module-connect .connect-group-menu .connect-menu-moderation-heading > .connect-menu-moderation-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 7px 9px;
  border-radius: 7px;
  color: var(--ink);
  text-decoration: none;
}
.ptfr-2027 #module-connect .connect-group-menu li + li { margin-top: 3px; }
.ptfr-2027 #module-connect .connect-group-menu a:hover { background: var(--blue-soft); }
.ptfr-2027 #module-connect :is(.connect-menu-label, .connect-menu-moderation-label, .connect-management-blue) { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.ptfr-2027 #module-connect .connect-menu-label span { overflow-wrap: anywhere; }
.ptfr-2027 #module-connect .connect-management-blue { color: var(--brand); }
@media (max-width: 720px) {
  .ptfr-2027 #module-connect.horizontal.connected.connect-ready button.js-menu-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--surface);
    border: 1px solid var(--panel-line);
    color: var(--brand);
  }
  .ptfr-2027 #module-connect.horizontal.connected.connect-ready button.js-menu-button:hover { background: var(--tint); }
  .ptfr-2027 #module-connect.horizontal.connected.connect-ready:not(.active-connect) .connect-elements-container { display: none; }
  .ptfr-2027 #module-connect.horizontal.connected .connect-elements-container { display: grid; margin-top: 8px; }
  
}

/* Notifications à fort contraste : vraie pastille rouge, pas orange pâle. */
.ptfr-2027 #module-connect .connect-notification-badge,
.ptfr-2027 #module-connect .connect-event :is(.blink,strong),
.ptfr-2027 #module-connect .connect-has-notification .connect-notification-badge {
  background: #d73653;
  color: #fff;
  border: 1px solid #b72947;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  padding: 3px 8px;
}
.ptfr-2027 #module-connect .connect-event > a { background: #fff0f3; border-color: #f0a9b9; color: #9d1c3c; }
.ptfr-2027 #module-connect .connect-event > a:is(:hover,:focus-visible) { background: #ffe2e9; border-color: #d96d88; color: #861532; }
.ptfr-2027 #module-connect .connect-event > a > i { color: #c12347; }
.ptfr-2027 #module-connect .connect-event > a :is(.blink,strong) { color: #fff; }
.ptfr-2027 #module-connect .connect-group.connect-event summary { border-color: #e9a0b1; background: #fff0f3; }
.ptfr-2027 #module-connect .connect-group.connect-event summary:is(:hover,:focus-visible) { background: #ffe1e9; }

