.membres-section { margin-top: 4rem; display: flex; flex-direction: column; gap: 1rem; } .membres-item.is-open { position: relative; padding-bottom: 1rem; &::after { @include yellow-gradient-after; } } .membres-header { display: flex; align-items: center; gap: 1.2rem; padding: 0.8rem; background-color: $light-gray; cursor: pointer; transition: background-color 0.15s; font-family: $font-primary; text-transform: uppercase; &:hover { background-color: $less-light-gray; } } .membres-chevron { font-size: 1.2rem; transition: transform 0.2s; flex-shrink: 0; margin-left: auto; .membres-item.is-open & { transform: rotate(180deg); } } .membres-sort-chevron { font-size: 0.8rem; opacity: 0.3; transition: transform 0.2s, opacity 0.15s; vertical-align: middle; margin-left: 0.3rem; } .membres-content { padding: 1rem; background-color: $light-light-gray; font-family: $font-primary; font-size: 0.9rem; line-height: 1.6; } .membres-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 0.9rem; th { width: 33.333%; text-align: left; text-transform: uppercase; font-family: $font-primary; font-weight: normal; font-size: 0.8rem; padding: 0.5rem 1.5rem 0.5rem 0.5rem; background-color: $light-gray; cursor: pointer; user-select: none; white-space: nowrap; &:hover .membres-sort-chevron { opacity: 0.7; } &.sort-asc .membres-sort-chevron { opacity: 1; transform: rotate(180deg); } &.sort-desc .membres-sort-chevron { opacity: 1; transform: rotate(0deg); } } tbody tr { cursor: pointer; transition: background-color 0.15s; background-color: white; &.is-even-row { background-color: $light-gray; } &:last-child { border-bottom: none; } &:hover { background-color: $less-light-gray; } } td { padding: 0.6rem 1.5rem 0.6rem 0.5rem; vertical-align: top; line-height: 1.4; // Name column &:first-child { white-space: nowrap; } a { text-decoration: none; } } } // Member hover popover #membre-popover { position: fixed; z-index: 9999; background: white; pointer-events: none; max-width: 380px; min-width: 180px; padding: 1rem; font-family: $font-primary; font-size: 0.85rem; opacity: 0; transition: opacity 0.1s; border: solid 1px $light-gray; &.is-visible { opacity: 1; } .membre-popover-inner { display: flex; gap: 1rem; align-items: flex-start; } .membre-popover-pic { width: 80px; height: 80px; object-fit: cover; object-position: top; flex-shrink: 0; } .membre-popover-name { font-size: 1.1rem; font-weight: normal; margin: 0 0 0.3rem; } .membre-popover-status { text-transform: uppercase; color: $less-dark-gray; margin: 0 0 0.6rem; } .membre-popover-domaines { font-size: 0.8rem; margin: 0 0 0.3rem; line-height: 1.5; } .membre-popover-autres { font-size: 0.8rem; margin: 0; line-height: 1.5; color: $less-dark-gray; } } // Filter bar sizing .filtre-role { flex: 2; } .filtre-recherche { flex: 1; } // Member search input .membres-search-input { width: 100%; border: none; padding: 0.6rem 0.8rem; font-family: $font-primary; font-size: 0.85rem; background-color: $light-gray; outline: none; &::placeholder { color: $less-dark-gray; } &:focus { background-color: $less-light-gray; } @media ($desktop) { width: 50%; } }